fopen
Как ведет себя функция fopen и остальные при загрузке файла с удаленного хоста. Т.е есть файл xml размером допустим 50 мб, время на его закачку и парсинг не позволят нормально отрабатывать серву. Вопрос, построчное считывание информации будет экономить траф и ресурсы серва или нет?
Задача в том что необходимо считать файл - но при превышении размера - не полностью, а лишь часть
потому узнать размер файла можно при помощи функции filesize
а считать при помощи fread, куда вставить нужный размер для считывания
Это же сума сойти можно.....
А не лучше ли сразу работать с БД, или со скриптом работающем на том удаленном хосте, и выдающий результат(хотя это по возможности)?
Цитата: Tingo
XML в 50мб, при каждом запросе считывать(читай закачивать) с удаленного хоста!!!!!
Это же сума сойти можно.....
А не лучше ли сразу работать с БД, или со скриптом работающем на том удаленном хосте, и выдающий результат(хотя это по возможности)?
Это же сума сойти можно.....
А не лучше ли сразу работать с БД, или со скриптом работающем на том удаленном хосте, и выдающий результат(хотя это по возможности)?
Проще конечно, но я представляю ситуацию как я прихожу в офис другой компании и говорю а дайте ка мне доступ к вашей бд, то хмл у вас бывают очень большие :) - не катит.
Цитата: dimas09
как я понимаю fopen только устанавливает связь с файлом.
потому узнать размер файла можно при помощи функции filesize
а считать при помощи fread, куда вставить нужный размер для считывания
потому узнать размер файла можно при помощи функции filesize
а считать при помощи fread, куда вставить нужный размер для считывания
Как работает fopen с файлами - я знаю :) вопрос был как она работает с удаленными файлами .... по хттп
Тогда мне кажется нужно использовать крон, то есть закачивать по кусочкам
Цитата: dimas09
Тогда мне кажется нужно использовать крон, то есть закачивать по кусочкам
Извини - но бред
Сути не меняет
1. учитывая что крон уже стоит на импорт
2. как кроном закачать файл по кусочкам? учитывая что file_get_content - берет все (а это 50м) или fopen - ниизвестно как :)