我知道我可以逐行阅读this function的文件,然后我可以做if($line_no < $X) continue;
这样的事情,但我想知道是否有更高效的内容?这些可能是我正在阅读的一些可能很大的文件,我不想将所有内容都放入一个巨大的数组中,其中大部分都是我要忽略的。
答案 0 :(得分:1)
PHP无法使用行号跳转到特定行,无需额外处理。如果要跳过 bytes 的数量,则只需使用fseek()
。
如果仅使用file()
耗尽内存是一个问题,我无法帮助您,但您可以使用:
$file = array_slice(file(__FILE__), __LINE__ - 1));
获取所需行之后的行,而不添加任何不必要的内存。即使在大文件上也应该相对较快。
如果仍然不够,您可能需要考虑使用其他语言。