Почему fgets снова и снова читает одни и те же строки в неправильном порядке? - PullRequest
0 голосов
/ 30 апреля 2011

Я использовал 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 голос
/ 30 апреля 2011

Ну, вы не перебираете строки, потому что ваше условие while должно быть установлено с помощью fgets

$fh = fopen('newsymbols.txt','r') or die($php_errormsg);
while ($s = fgets($fh,1024)) {
if ( feof($fh)) {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...