fgets....help

  • Автор темы Автор темы micolo
  • Дата начала Дата начала

micolo

Новичок
fgets....help

Привет всем!
Считываю из файла с 60000 строками (одна строка где-то до 200 символов)через:

PHP:
while(!feof($fp)) {
print fgets($fp, 1000);
}
Считывает на экран только 4000 строк, при этом размер исходного файла равен 36.400 кб а при записи результатов в другой файл, объём равен 246 кб. Как быть?
 
micolo

и что мы должны тебе ответить на твой вопрос?
перечитай свой вопрос и подумай, можно ли из него сделать хоть какой-то вывод, чтобы ответить?
 
Может что пропустил:)
Хотелось бы знать почему из 60.000 через стандартную функцию выводится только 4.000. Может кто сталкивался?
 
micolo
пропустил "другой файл" и выполняется ли дальше этот while после 4000 строчек? а как скрипт запускается - через сервер/браузер или командную строку?
 
while lдальше не выполняется
скрипт запускается сервер/браузер
 
micolo
вот у меня никак не получается 60000 строк - если твои 36400 разделить на 200, то получается вообще 182 строки примерно - давай ты закончишь пудрить нам мозги и опишешь реальную задачу с реальным куском кода и реальным куском файла, который читаешь
 
Фанат

гы :-) я как-то не подумал
тогда наверное по таймауту валится, а вывод ошибок отрублен
 
Ребята давайте жить дружно :)
Я сделал округление но дело не в этом
Да на самом деле 597.978 строк, но это дело не меняет из них распечатывается чуть больше 4.000 строк. Показ ошибок стоит, однако нет никакой ошибки. Даже если не распечатывать их в браузер а сразу записывать в .txt ситуация анологичная. Так что ограничения браузера отпадают. Может есть ещё какие-нить ограничения в Apache. Я это делаю на денвере.
 
Есть 30 секундное ограничение на время выполнения скрипта. Попробуй в начале твоего скрипта поставить set_time_limit(0); Так же есть 8 МБ ограничение на используемую память.

А вообще скрипты обрабатывающие такие объемы данных лучше из командной строки запускать.
 
phprus

он говорит, что вывод ошибок включен - в таком случае - все описпанное тобой он бы прочитал на экране
 
Сверху