我有一个文本文件,比如一个日志文件,我想从中得到最后50行。
如何在PHP中做到这一点?
我想你也可以使用"tail"如果你是在linux上。
$handle = popen("tail -50l YOUR_FILE_HERE 2>&1", 'r');
while(!feof($handle)) {
$buffer = fgets($handle);
echo "$buffer<br/>n";
ob_flush();
flush();
}
pclose($handle);
对于fseek
函数,在注释中有一些解决方案
<?
$data = file('yourfile.txt');
$lines = implode("rn",array_slice($data,count($data)-51,50));
?>
就这么简单
我认为你可以使用fopen来获取句柄,然后使用filesize来获取大小,然后使用fseek去filesize-50。然后只需要50个字符就可以得到最后的50个字符。如果你看一下fseek.
下的手册,我想以前已经这样做过了。下面是fseek手动条目中的解决方案。只需将fseek行的-1更改为-50。