Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP - Returning the last line in a file?

I'm guessing it's fgets, but I can't find the specific syntax. I'm trying to read out (in a string I'm thinking is easier) the last line added to a log file.

like image 442
waxical Avatar asked Jun 30 '09 09:06

waxical


1 Answers

The simplest naive solution is simply:

$file = "/path/to/file";
$data = file($file);
$line = $data[count($data)-1];

Though, this WILL load the whole file into memory. Possibly a problem (or not). A better solution is this:

$file = escapeshellarg($file); // for the security concious (should be everyone!)
$line = `tail -n 1 $file`;
like image 131
Matthew Scharley Avatar answered Oct 16 '22 10:10

Matthew Scharley