PhpRiot
News Archive
PhpRiot Newsletter
Your Email Address:

More information

Sameer Borate's Blog: Tail functionality in PHP

Note: This article was originally published at PHPDeveloper on 20 July 2011.
PHPDeveloper

Sameer Borate has posted an alternative to "tail" that you can use to find the last X number of lines in a log file you'd like to follow without having the overhead of parsing the entire file.

Frequently one needs to get the last few lines of some log files, whether php error logs or Apache logs. Most of these file sizes run into megabytes, which makes it difficult and time consuming to remotely open them using ftp. [...] The [example] is a simple but useful 'tail' implementation in PHP. I've encapsulated the tail function in a 'LogRead' class, which can be further enlarged by adding other useful log functions.

His code opens a file pointer to the requested log, grabs the file size and uses the fseek function to move the pointer to the line/location you've requested. Obviously, if the requested lines of data is large, it will still have some overhead, but this is a much better way for keeping track of the latest additions to a log. You can then use the "tail" method on the "LogRead" class to grab just the lines you want.