我在 PHP 文档中看到的最接近的是 fread() 给定的长度,但这并没有指定从哪一行开始。还有其他建议吗?
是的,您可以轻松地做到这一点SplFileObject::seek http://de.php.net/manual/en/splfileobject.seek.php
$file = new SplFileObject('filename.txt');
$file->seek(1000);
for($i = 0; !$file->eof() && $i < 1000; $i++) {
echo $file->current();
$file->next();
}
这是一个来自可查找迭代器 http://de.php.net/manual/en/class.seekableiterator.php接口,不要混淆fseek
.
因为 SplFileObject 是可迭代的,所以你可以使用LimitIterator http://de.php.net/manual/en/class.limititerator.php:
$file = new SplFileObject('longFile.txt');
$fileIterator = new LimitIterator($file, 1000, 2000);
foreach($fileIterator as $line) {
echo $line, PHP_EOL;
}
同样,这是从零开始的,因此是第 1001 行到 2001 行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)