Re: Remove blank lines from a file

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 21 May 2010 15:16, Ashley Sheridan <ash@xxxxxxxxxxxxxxxxxxxx> wrote:

>  On Fri, 2010-05-21 at 14:03 +0200, Anton Heuschen wrote:
>
> Hi Im trying do something like this, have a function which uploads my
> file and returns file pointer ... but at same time ... I want to
> remove all Blank lines in a file and update it before it goes to the
> final location ...
>
> What I tried was to do a write of file and use some regexp replace to
> remove a blank ... either I am not doing the replace correct or my
> understanding of the file buffer and what I can do with it between the
> browser and saving is not correct,
>
> Anyway my code looks something like this :
>
>
>  $uploadfile     = $this->uploaddir;
>             $mtran          = mt_rand(999,999999);
>             $NewName        = date("Ymd_Gis").$mtran.".csv";
>             $uploadfile     = $uploadfile.$NewName;
>
>             try{
>                 if
> (move_uploaded_file($_FILES['attachfile']['tmp_name'], $uploadfile))
>                 {
>                     $handle = fopen($uploadfile, "r+");
>                     $lines  = file($uploadfile,
> FILE_SKIP_EMPTY_LINES); //FILE_IGNORE_NEW_LINES |
>                     foreach ($lines as $line_num => $line) {
>                         $line =
> preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "", $line);
>                         if(strlen($line) > 0)
>                             $line=trim($line);
>                             $line=$line."\n";
>                             fwrite($handle, $line);
>                     }
>                     fclose($handle);
>
>
>
> If the files aren't too large in size, what about using something like
> file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); which
> should pull into an array only those lines with content, and then just write
> that back out to the same file line by line?
>
>   Thanks,
> Ash
> http://www.ashleysheridan.co.uk
>
>
>


Hi,

I actually had that ... removed it in last example as I was trying other
stuff and it did not seem to work either ?

$lines  = file($uploadfile, FILE_SKIP_EMPTY_LINES); //FILE_IGNORE_NEW_LINES
|


see I removed the FILE_IGNORE line - it was in earlier and only tried
FILE_SKIP_EMPTY .... but still the final file had all the spaces again ...

So in the file it would look like (from the original file the user uploads
that is)

1
2

3
4


5

6


but when the file is saved to the server it must look like


1
2
3
4
5
6



but it never does and still looks like the first block.

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux