Jump to content

Reading a txt file from bottom to top


battsb

Recommended Posts

Hi guys, I'm a semi-noob....rather a 'professional amateur', and I need alittle assistance with something. I'm surprised php doesn't have any built-in functions for reading a file LINE by LINE, from the bottom to the top, but I did see a few ways of doing it, using fseek()...but nothing that reads a file line by line....All the examples on the php.net site show it character by character. Any suggestions?

I'd think it'd be a pretty common needed task (to read from bottom to top), since files can be appended to at the bottom, meaning all the latest information starts at the bottom. Does anyone have any pointers? (pun not intended) :)

Link to comment
Share on other sites

file read to array - [a href=\"http://ca.php.net/manual/en/function.file.php\" target=\"_blank\"]http://ca.php.net/manual/en/function.file.php[/a]

then use count() for size of array to get the end element, etc.

reverse array might be useful to you as well - [a href=\"http://ca.php.net/manual/en/function.array-reverse.php\" target=\"_blank\"]http://ca.php.net/manual/en/function.array-reverse.php[/a]
Link to comment
Share on other sites

[!--quoteo(post=374436:date=May 16 2006, 05:26 PM:name=AndyB)--][div class=\'quotetop\']QUOTE(AndyB @ May 16 2006, 05:26 PM) [snapback]374436[/snapback][/div][div class=\'quotemain\'][!--quotec--]
file read to array - [a href=\"http://ca.php.net/manual/en/function.file.php\" target=\"_blank\"]http://ca.php.net/manual/en/function.file.php[/a]

then use count() for size of array to get the end element, etc.

reverse array might be useful to you as well - [a href=\"http://ca.php.net/manual/en/function.array-reverse.php\" target=\"_blank\"]http://ca.php.net/manual/en/function.array-reverse.php[/a]
[/quote]

I can't use that because the file can be up to 100Meg, which is why I need to read from the bottom up, because I will only need the bottom 1,000 lines (based on date) or so.

Eg of chronological log file contents
V,<date&time>,0,150
V,<dateTime>,0,14d
D,<dateTime>,0,16e

I need to get to the bottom 1,000 lines or so.....in <1 sec. Possible?
Link to comment
Share on other sites

[i]maybe[/i] - [a href=\"http://ca3.php.net/manual/en/function.fseek.php\" target=\"_blank\"]http://ca3.php.net/manual/en/function.fseek.php[/a] and take a look at the scriptlet posted by phil at NOSPAM dot blisswebhosting dot com
Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.