Get the last 50 lines from text file using php

2020-02-12 13:19发布

I have a text file such as a log file, and I want to get the last 50 lines from that.

How can I do it, in PHP?

标签: php file text
4条回答
三岁会撩人
2楼-- · 2020-02-12 13:43
<?
$data = file('yourfile.txt');
$lines = implode("\r\n",array_slice($data,count($data)-51,50));
?>

As simple as this

查看更多
叼着烟拽天下
3楼-- · 2020-02-12 13:44

I think you can use fopen to get the handle, then use filesize to get the size and fseek to go to filesize-50. Then it's just fread of 50 characters to get the last 50. I imagine this ha been done before if you look at the manual under fseek.

Here is the solution in the fseek manual entry. Just change the -1 on the fseek line to -50.

查看更多
Anthone
4楼-- · 2020-02-12 13:49

I guess you could also be using "tail" if you are on 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);
查看更多
贼婆χ
5楼-- · 2020-02-12 14:03

There are some sollutions in comments for function fseek.

查看更多
登录 后发表回答