微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在PHP中读取文件的特定行

我正在读取 PHP中的文件.
我需要阅读该文件的特定行.

我用过这段代码

fseek($file_handle,$start);
while (!feof($file_handle)) 
{   
    ///Get and read the line of the file pointed at.
    $line = fgets($file_handle);
    $lineArray .= $line."LINE_SEParaTOR";

    processLine($lineArray,$linecount,$logger,$xmlReply);

    $counter++;
}
fclose($file_handle);

但是我意识到fseek()接受的是字节数而不是行号.

PHP有其他函数将其指针基于行号吗?

或者我每次都必须从头开始阅读文件,并且有一个
计数器直到读取我想要的行号?

我正在寻找一种有效的算法,步进超过500-1000 Kb文件到达所需的线似乎效率低下.

使用 SplFileObject::seek
$file = new SplFileObject('yourfile.txt');
$file->seek(123); // seek to line 124 (0-based)

原文地址:https://www.jb51.cc/php/133554.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐