我有一个文本文件,例如日志文件,我希望从中得到最后50行。
我怎么能用PHP做到这一点?
答案 0 :(得分:4)
如果您使用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);
答案 1 :(得分:2)
功能fseek
的评论中有some sollutions。
答案 2 :(得分:2)
<?
$data = file('yourfile.txt');
$lines = implode("\r\n",array_slice($data,count($data)-51,50));
?>
这很简单
答案 3 :(得分:1)
我认为你可以使用fopen获取句柄,然后使用filesize来获取大小,并使用fseek转到filesize-50。然后它只有50个字符才能获得最后的50个。我想如果你看一下fseek下的手册,我们就已经完成了。
Here是fseek手册条目中的解决方案。只需将fseek行上的-1更改为-50。