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

时间:2011-05-01 11:20:18

标签: php file text

我有一个文本文件,例如日志文件,我希望从中得到最后50行。

我怎么能用PHP做到这一点?

4 个答案:

答案 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。