100 lines of 200 chars each is 20000 which is 20K which is chump change for
RAM...

Unless you are on a super busy page on a super high-volume server, just
file() it.

If you're on a super busy page on a super high-volume server, file() it
anyway, and then ap benchmark it to see if it's "slim enough" -- And if not,
profile it to be sure it's the file() that's killing you, not something
else.

--
WARNING [EMAIL PROTECTED] address is an endangered species -- Use
[EMAIL PROTECTED]
Wanna help me out?  Like Music?  Buy a CD: http://l-i-e.com/artists.htm
Volunteer a little time: http://chatmusic.com/volunteer.htm
----- Original Message -----
From: John A. Grant <[EMAIL PROTECTED]>
Newsgroups: php.general
To: <[EMAIL PROTECTED]>
Sent: Thursday, October 04, 2001 5:29 PM
Subject: read file twice or read into array once?


> I have a file containing ~100 lines of text, each perhaps 100-200
> characters in length.  I need to retrieve line $n from the file, where:
>     $n = $julianday % $nlines;
>
> $julianday = today's date (from localtime[7])
> $nlines = no. of lines in the file
>
> Method A
> 0. fopen() the file
> 1. read the file line by line with fgets() and count the lines ($nlines)
> 2. compute the required entry: $n=$julianday % $nline
> 3. rewind() the file and read it again until entry $n is found
> 4. fclose() the file
>
> Method B
> 1. read the entire file into memory: $lines=file("myfile")
> 2. compute the required entry: $n=$julianday % count($lines)
>
> I appreciate that this depends on the no. of lines in the file and
> the size of the file. What I'm looking for is opinions on whether
> the use of file() is more efficient than fgets(). It needs more memory,
> but it eliminates reading the file twice.
>
> Thanks.
>
> --
> John A. Grant  * I speak only for myself *  (remove 'z' to reply)
> Radiation Geophysics, Geological Survey of Canada, Ottawa
> If you followup, please do NOT e-mail me a copy: I will read it here
>
>
>


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to