|
|
Yabuti V.I.P. |
Зарегистрирован: 28.11.2008
Сообщений: 16263
|
Обратиться по нику
|
Yabuti |
Ответить с цитатой | | |
|
Всем привет!
Пишу скрипт, обрабатывающий данные из файла. Файл весит 4,8 мегабайта, целиком помещается в переменную.
Проблема в том, что скрипт не хочет работать с такой большой переменной.
Уменьшаю размер файла до 124 килобайта - отлично работает.
Возвращаю данные до 4,8 мега - вновь не хочет работать.
Перегонять в БД не получится, т.к. там неструктурированный контент, одна большая кучка текста.
Подскажите, что можно сделать, какие настройки php.ini покрутить, чтобы скрипт мог обрабатывать такую большую переменную?
Время выполнения скрипта стоит безлимитно:
Код: |
set_time_limit (0);
ini_set('max_input_time', '0');
|
Кодировка файла ASCII.
Данные беру file_get_contents().
Большое спасибо! |
|
|
|
|
|
Ксен ВПС и выделенные серверы от PQCService.net с бесплатным администрированием в 7 локациях, icq: 87244588
-- |
JM Гуру |
Зарегистрирован: 25.08.2006
Сообщений: 1382
|
Обратиться по нику
|
|
|
Конвертит мобильный траф как зверь!!!
VDS и домены от AHnames.com - лучшие решения по доступным ценам |
Yabuti V.I.P. |
Зарегистрирован: 28.11.2008
Сообщений: 16263
|
Обратиться по нику
|
Yabuti |
Ответить с цитатой | | |
|
JM, не, не помогает, я пробовал и в скрипте задавать размер, и в php.ini.
Наверное, придется делить файлы на несколько, чтобы мог обработать их скрипт. |
|
|
|
|
|
Ксен ВПС и выделенные серверы от PQCService.net с бесплатным администрированием в 7 локациях, icq: 87244588
-- |
redline Свой |
Зарегистрирован: 10.08.2007
Сообщений: 2
|
Обратиться по нику
|
|
|
|
JM Гуру |
Зарегистрирован: 25.08.2006
Сообщений: 1382
|
Обратиться по нику
|
JM |
Ответить с цитатой | | |
|
Yabuti, А какая ошибка вылезает или просто ничего не вылезает?
Я читал и по 10мб файлы как помню
Сделай filesize($file_loc)
Имя должно совпадать. |
|
|
|
|
|
Конвертит мобильный траф как зверь!!!
VDS и домены от AHnames.com - лучшие решения по доступным ценам |
Yabuti V.I.P. |
Зарегистрирован: 28.11.2008
Сообщений: 16263
|
Обратиться по нику
|
Yabuti |
Ответить с цитатой | | |
|
JM, по размеру файла ошибку или варнинг не выдает, а вот дальше идет его сортировка, там выдает ошибку, что нет аргумента для выполнения оператора.
filesize() выдает результат: 5126914.
Я поделил файл на 5 файлов по 1,2 мега и он нормально их обработал.
Не знаю, почему не хочет такие большие файлы обрабатывать, в настройках-то размер памяти большой.
redline, не, не вариант, т.к. там куча текста, так бы я его вообще в БД загнал и через SQL-запросы работал. |
|
|
|
|
|
Ксен ВПС и выделенные серверы от PQCService.net с бесплатным администрированием в 7 локациях, icq: 87244588
-- |
JM Гуру |
Зарегистрирован: 25.08.2006
Сообщений: 1382
|
Обратиться по нику
|
|
|
Конвертит мобильный траф как зверь!!!
VDS и домены от AHnames.com - лучшие решения по доступным ценам |
Yabuti V.I.P. |
Зарегистрирован: 28.11.2008
Сообщений: 16263
|
Обратиться по нику
|
Yabuti |
Ответить с цитатой | | |
|
JM, выдает Undefined variable для строки, где выполняю функцию names_to_uppercase() для массива (заменяет названия стран на названия с заглавной буквы).
Странно, но до этого массив обрабатывается стандартными функциями strtolower() и ucfirst() и на них ошибку не выдает.
Да и ладно, самое главное, работает с файлами до 1,2 мегабайта и нормально |
|
|
|
|
|
Ксен ВПС и выделенные серверы от PQCService.net с бесплатным администрированием в 7 локациях, icq: 87244588
-- |
|