【发布时间】:2011-08-16 10:10:37
【问题描述】:
我有一个文本文件,例如日志文件,我想从中获取最后 50 行。
在 PHP 中我该怎么做?
【问题讨论】:
我有一个文本文件,例如日志文件,我想从中获取最后 50 行。
在 PHP 中我该怎么做?
【问题讨论】:
函数fseek在cmets中有some sollutions。
【讨论】:
我认为您可以使用 fopen 获取句柄,然后使用 filesize 获取大小并使用 fseek 转到 filesize-50。那么最后 50 个字符只需 fread 50 个字符。如果您查看 fseek 下的手册,我想这已经完成了。
Here是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);
【讨论】:
<?
$data = file('yourfile.txt');
$lines = implode("\r\n",array_slice($data,count($data)-51,50));
?>
就这么简单
【讨论】: