为什么fgets以错误的顺序反复读取相同的行?

时间:2011-04-30 07:33:55

标签: php file-io

我一直在使用fgets来读取文件中的(20,000)个单词列表。它昨天工作正常,但不知何故现在它读取文本文件,这只是一个列表 - 乱序,多次读取一些相同的部分。这是每行一个字。一个简单的问题,但足以阻止您的工作流程。

$fh = fopen('newsymbols.txt','r') or die($php_errormsg);
while (! feof($fh)) {
if ($s = fgets($fh,1024)) {

如果有人从fgets遇到这种陌生感到好奇。我使用的是file_get_contents而不是DOM objects,因为这个特殊的脚本使用foreach来占用{{1}}循环中的内存。

1 个答案:

答案 0 :(得分:1)

嗯,你没有遍历这些行,因为你的while条件必须用fgets设置

$fh = fopen('newsymbols.txt','r') or die($php_errormsg);
while ($s = fgets($fh,1024)) {
if ( feof($fh)) {