编辑:自从发布这个问题以来,我学到了很多东西,所以我已经为任何类似询问的人重写了它。
我正在尝试通过 HTTP GET 请求从文本文件末尾加载指定数量的行,该请求将被发送到 PHP 文件。这可以做到file_get_contents()
吗?
该函数file_get_contents()
还将整个文件读入内存。有什么比将整个文件读取到数组,然后删除指定数量的行更有效的解决方案?
例如,如果我有一个 12000 行的文本文件,我将如何读取 4025-6042 之间的行范围?
编辑:自从发布这个问题以来,我学到了很多东西,所以我已经为任何类似询问的人重写了它。
我正在尝试通过 HTTP GET 请求从文本文件末尾加载指定数量的行,该请求将被发送到 PHP 文件。这可以做到file_get_contents()
吗?
该函数file_get_contents()
还将整个文件读入内存。有什么比将整个文件读取到数组,然后删除指定数量的行更有效的解决方案?
例如,如果我有一个 12000 行的文本文件,我将如何读取 4025-6042 之间的行范围?
您将使用file()
将文件作为数组获取。然后array_slice()
修剪数组。
为此,您可以在其中指定 anoffset
和 amaxlength
以file_get_contents
指定要读取的文件量。
此函数类似于 file(),不同之处在于 file_get_contents() 以字符串形式返回文件,从指定的偏移量开始直到 maxlen 字节。