使用php从文本文件中获取最后50行

使用php从文本文件中获取最后50行,php,file,text,Php,File,Text,我有一个文本文件,比如日志文件,我想从中得到最后50行 如何在PHP中实现它?在函数fseek的注释中,我认为可以使用fopen获得句柄,然后使用filesize获得大小,fseek转到filesize-50。然后,只需50个字符就可以得到最后50个字符。如果你看一下fseek下的手册,我想这以前是做过的 是fseek手动输入中的解决方案。只要将fseek行中的-1改为-50即可。如果您在linux上,我想您也可以使用“tail” $handle = popen("tail -50l YOUR_

我有一个文本文件,比如日志文件,我想从中得到最后50行


如何在PHP中实现它?

在函数
fseek
的注释中,我认为可以使用fopen获得句柄,然后使用filesize获得大小,fseek转到filesize-50。然后,只需50个字符就可以得到最后50个字符。如果你看一下fseek下的手册,我想这以前是做过的


是fseek手动输入中的解决方案。只要将fseek行中的-1改为-50即可。

如果您在linux上,我想您也可以使用“tail”

$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);
$handle=popen(“tail-50l您的文件”这里是2>&1“,'r');
而(!feof($handle)){
$buffer=fgets($handle);
回显“$buffer
\n”; ob_flush(); 冲洗(); } pclose($handle);


就这么简单

我查过了,找不到任何解决方案BSD也有。我不确定,但我认为Mac也有一些基本的Unix实用程序(不像有人会在生产环境中运行OSX服务器,但是…)。
<?
$data = file('yourfile.txt');
$lines = implode("\r\n",array_slice($data,count($data)-51,50));
?>