PHP:从大文本文件的末尾检索行

hex*_*ide 3 php

我已经搜索了很长一段时间的答案,但没有找到任何正常工作的答案.

我有一些日志文件,有些达到100MB了大小,140,000文本行.有了PHP,我试图得到500文件的最后几行.

我怎么得到500线?对于大多数函数,文件被读入内存,这不是一个合理的案例.我最好远离执行系统命令.

Chr*_*hey 6

如果你在'nix机器上,你应该能够使用shell转义和工具'tail'.已经有一段时间了,但是这样的事情:

$lastLines = `tail -n 500`;
Run Code Online (Sandbox Code Playgroud)

注意使用刻度线,它在BASH或类似物中执行字符串并返回结果.

  • @hexacyanide,为什么你需要每秒运行五次?也许你最好使用`proc_open()`并只是听`tail -f`的输出.(或者也许没有必要使用PHP来做你正在做的事情.) (2认同)