一尘不染

如何在PHP中仅读取文本文件的最后5行?

php

我有一个名为的文件file.txt,该文件通过添加行来更新。

我正在通过以下代码阅读它:

$fp = fopen("file.txt", "r");
$data = "";
while(!feof($fp))
{
$data .= fgets($fp, 4096);
}
echo $data;

并且出现了大量的行。我只想回显文件的最后5行

我怎样才能做到这一点 ?


file.txt是这样的:

11111111111111
22222222222

33333333333333
44444444444

55555555555555
66666666666

阅读 384

收藏
2020-05-29

共1个答案

一尘不染

未经测试的代码,但应该可以工作:

$file = file("filename.txt");
for ($i = max(0, count($file)-6); $i < count($file); $i++) {
  echo $file[$i] . "\n";
}

调用max将处理少于6行的文件。

2020-05-29