|
Posted by Al on 08/04/05 20:28
Brandon Ryan wrote:
> Are you running this php code in windows, where a line break is made up of
> a carriage return and a line feed? The file was probably created on
> unix/linux where the line break is just a line feed. If you try to read this
> file in windows, it will think everything is on one line. You either have to
> replace all line feeds with carriage return and then line feed, or read it
> in and parse it.
> Brandon
> On 8/4/05, Al <news@ridersite.org> wrote:
>
>>Tom Chubb wrote:
>>
>>>I'm having a problem with the following code:
>>>
>>><?php
>>>$file = " http://www.mysite.co.uk/mailing_list_database.list";
>>>$lines = count(file($file));
>>>echo "$lines ";
>>>?>
>>>
>>>I'm trying to show the number of subscribers to my visitors from a
>>>text file, but it returns a value of 1 when it should be 5000.
>>>I think it's to do with recognising the line break but I don't know
>>>how to make it work!?!
>>>
>>>(I've looked on php.net <http://php.net/> for the file, fopen & count
>>
>>functions and
>>
>>>can't find anything, although fopen mentions using the -t mode.
>>>Any ideas?
>>>
>>>Thanks,
>>>
>>>Tom
>>
>>$count= substr_count($file_str, "\n");
>>
>>--
>>PHP General Mailing List (http://www.php.net/)
>>To unsubscribe, visit: http://www.php.net/unsub.php
>>
>>
>
>
Windows is \r\n; unix/linux \n; MAC \r. So the \n gets Windows and Unix/linux/ If it's MAC or can be. then replace all
\r with \n first.
e.g., $str= preg_replace("%(\r\n|\r|\n)%", "\n", $str);
Navigation:
[Reply to this message]
|