gpt4 book ai didi

php - fseek() 逐行,而不是字节?

转载 作者:IT王子 更新时间:2023-10-29 00:06:12 25 4
gpt4 key购买 nike

我有一个脚本可以逐行解析大文件。当遇到无法处理的错误时,它会停下来,通知我们最后一行已解析。

这真的是寻找文件中特定行的最佳/唯一方法吗? (fseek() 在我的情况下不可用。)

<?php

for ($i = 0; $i < 100000; $i++)
fgets($fp); // just discard this

我使用它没有问题,它足够快 - 只是感觉有点脏。根据我对底层代码的了解,我认为没有更好的方法来做到这一点。

最佳答案

查找文件中特定行的一种简单方法是使用 SplFileObject类,它支持查找行号 ( seek() ) 或字节偏移量 ( fseek() )。

$file = new SplFileObject('myfile.txt');
$file->seek(9999); // Seek to line no. 10,000
echo $file->current(); // Print contents of that line

在后台,seek() 只是执行您的 PHP 代码执行的操作(C 代码除外)。

关于php - fseek() 逐行,而不是字节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3588577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com