Да сделано это уже. Скачивается частями (изначально качало целиком, но я пару сообщений назад написал, что модифицировал алгоритм, теперь качаю по частям и обрабатываю). Обрабатывается в цикле. Старую часть uset, новую на место старой загоняю. После каждой части сохраняю аналзируемые цифры в отдельные переменные. Во время обработки куча модификаций разных идет и с цифрами и с текстом через Preg_match в том числе реализован их поиск, поэтому регэкспов реально много.. т.к. скрипт вылетает на 12м проходе, значит памяти на первые 11 хватает, следовательно ( как мне кажется это единственная возможная причина ) что-то лишнее остается после преобразований в памяти кроме результирующих цифр.. вот и думаю возможно ли как-то посмотреть содержимое всех переменных сразу во время работы, аналогично дебагеру в том же Си.Автор оригинала: Bu-Bu
Так что за текст на 7Мб? Это книга целая. Разве нельзя заставить скрипт, который ЭТО генерирует разбить эту книгу на главы или хотя бы на удобоваримые куски. Нужно от этого толкаться а не изобретать велосипед. А если тот скрипт недоступен, то скачивать частями и сохранять частями - через sockets это легко реализуется.
У хостера 4.4.2Автор оригинала: dimagolov
Monah IRH, а какая версия php у тебя? вернее у хостера.
все даже хуже, чем я думал.У хостера 4.4.2
на локальной машине 4.4.1
почему. есть конкретные ужасные причины этой версии php?Автор оригинала: dimagolov
все даже хуже, чем я думал.
или меняй хостинг, или вешайся, я серьезно.
[07-Aug-2008] The PHP development team would like to announce the immediate availability of PHP 4.4.9. It continues to improve the security and the stability of the 4.4 branch and all users are strongly encouraged to upgrade to it as soon as possible. This release wraps up all the outstanding patches for the PHP 4.4 series, and is therefore the last PHP 4.4 release.
Да эт фигня. Если закоментить эти переменные в итоге все-равно вылетает. Т.е. все-равно что-то переполняется.. в чём и облом.Автор оригинала: Bu-Bu
Очищай память почаще и дроби своего монстра на мелкие куски, тогда вешаться не придется. Ты сам написал - результат пишешь в переменные, замени переменные файлами на диске и все получится
Что-то не может переполняться! Разбил файл на части, затем делай цикл типа foreach ($part as $value) и в конце каждого прохода $result дописывай к файлу log.txt и ничего переполняться не будет! А потом уже лог анализируй, а если и он большой, то и его дробить надо. Или качай все на локаль и извращайся по-своему.юАвтор оригинала: Monah IRH
Да эт фигня. Если закоментить эти переменные в итоге все-равно вылетает. Т.е. все-равно что-то переполняется.. в чём и облом.
если не учитывать мелочи, то так и естьАвтор оригинала: Bu-Bu
Что-то не может переполняться! Разбил файл на части, затем делай цикл типа foreach ($part as $value) и в конце каждого прохода $result дописывай к файлу log.txt и ничего переполняться не будет! А потом уже лог анализируй, а если и он большой, то и его дробить надо. Или качай все на локаль и извращайся по-своему.ю
Это когда "умельцы" злоупотребляют file_get_contents. Большие файлы умные дяди открывают с помощью file.Автор оригинала: ps2007
у меня была подобная проблема
выяснилось, что регулярные выражения не обрабатывают текст размером больше 100 000 байт.
Если ты делаешь, то я тебе сочувствую. Я, например, прогоняю все через цикл. Так что кто тут чего мелет?Автор оригинала: tony2001
>угу, и потом делают implode().
не мели ерунду.

file - готовый массив строк и уж размер одной строки никак не может быть больше 1кб. Почитай любую инфу - простой цикл обработки этих строк будет гораздо быстрее, чем тупое прочесывание одной строки длиной сотни тысяч знаков. Какие блоки, товарисч? Так что ответ не так очевиден, по крайней мере для меня.Автор оригинала: tony2001
[>Я, например, прогоняю все через цикл.
с какой целью?
с какой целью сначала искать в данных EOL, а потом всё равно прогонять блоками?
хочешь блоками - ну так и читай блоками, а не построчно.
>Так что кто тут чего мелет?
ответ очевиден.