PHP - 返回文件中的最后一行?

2021-12-29 00:00:00 syntax php fread fgets

我猜是 fgets,但我找不到具体的语法.我试图读出(在我认为更容易的字符串中)添加到日志文件中的最后一行.

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.

推荐答案

最简单天真的解决方案很简单:

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

相关文章