开发者

Get the last 50 lines from text file using php

开发者 https://www.devze.com 2023-03-01 16:36 出处:网络
I have a text file such as a log file, and I want to get the last 开发者_如何学Python50 lines from that.

I have a text file such as a log file, and I want to get the last 开发者_如何学Python50 lines from that.

How can I do it, in PHP?


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);


There are some sollutions in comments for function fseek.


<?
$data = file('yourfile.txt');
$lines = implode("\r\n",array_slice($data,count($data)-51,50));
?>

As simple as this


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.

0

精彩评论

暂无评论...
验证码 换一张
取 消