Search code examples
phpsyntaxfreadfgets

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.


Solution

  • 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`;