Скрипт использует file_get_contents для получения содержимого файла и дальнейшей роботы с ним . При загрузке файла небольшого размера проблем нет. При загрузке файла примерно в 3 МБ. Скрипт обрывается имено на выполнении file_get_contents. Раньше на простом хостинге таких проблем небыло. Вот перешол на VDS - начались. Установил - памяти 16 мб размер загружаемых файлов 5 мб. всеравно обрывается. что делать?
Хых, у меня такая же проблема. Только загружаю я html-страницы. Но помоему её, кроме как, увеличив память, решить не получиться. Или можно попробывать загрудать содержимое файла через mysql. Скажем командой LOAD DATA INFILE, или может еще есть какие-нибудь. И потом работать с содержимым файла через mysql.
забивает память на все 16 мб. на обычном хостинге такого небыло. хотя сомневаюсь, что там было установлено более 8 мб., не говорю уже про 16 мб. что же делать?
ладно с xml. проблема счас в том, что file_get_contents обрывается на большом файле. подробней в топике. кто нибуть подскажите как подправить?
Ты же сам говорил, что тебе надо XML обрабатывать. Дак нафига грузить файл целиком, если его можно последовательно обрабатывать? Ну дак установи такой лимит памяти, что не обрывалась. Подбери экспериментальным путём.
А как тогда может этот скрипт работать на виртуальном хостинге с теми же 16 мб., а на VDS обрывается?
PHP: $str=file_get_contents($url); $max_i=preg_match_all("/<data>(.*)<\/data>/isU", $str, $data); $ur - xml файл на другом сайте (сервере)
joost Если надо просто выводить то просто fopen и кусками его выводить. Если надо обрабатывать а он не вмещается в память то только добавление памяти поможет. (можно конечно читать кусками и обрабатывать, но для XML это не всегда подходит)
Да и libxml2 не плохо справляется (в PHP 5 он заменил Expat) Тут нужен парсер на основе SAX, коим http://php.net/xml и является.