100 lines of 200 chars each is 2 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]