• Авторизация


Как средствами php будет наиболее оптимально 26-06-2005 18:49 к комментариям - к полной версии - понравилось!


Как средствами php будет наиболее оптимально забрать удалённый файл?

Например, можно обычной функцией file(), но уже при 7-мегабайтном файле (у меня было так) файл не успевает скачаться до наступления тайм-аута у скрипта.

Есть методы более экономично забирать удаленные файлы? Протокол расположения файлов - http.
вверх^ к полной версии понравилось! в evernote
Комментарии (3):
Infant_terrible 26-06-2005-19:35 удалить
ну дык какими бы функциями ни забирать удаленный файл, если канал узкий и таймаут маленький - не заберешь никак :)
это к вопросу о таймауте.


Dimonuch 26-06-2005-21:00 удалить
для начала, забудьте вы о ф-ции file()
ЗАЧЕМ вам файл построчно в массиве? Есть же нормальная ф-ция file_get_contents() которая вертает содержимое в строке.
Далее, наступление таймлимита можно обломать используя вызов
set_time_limit(0);
который, правда, не работает в safe mode :)
Теперь насчет более экономичных методов.
Впринципе ПХП поддерживает вплоть до работы с сокетами. Только будет ли это экономичнее? Я сомневаюсь.
Дело в том, что вызывая file_get_contents() и передавая ему УРЛу в адресе ты "отдаешь управление" на компилированные и (надеюсь) отлаженные модули, которые работают в разы быстрее, что интерпритируемый скрипт.
У тебя затык ведь не в скрипте скорее всего идет, а в канале передачи ...
Потому либо отключай тайм лимит, либо придумывай другое решение ...
Kristinka_nobody 30-06-2005-20:30 удалить
А почему бы и посимвольно его не прочитать? Может я немного совсем не понимаю (ну не приходилось ещё так перекачивать), но сначала скачать скажем первый миллион байт, записать в файл. Затем второй миллион (ну типа не с начала файл читать). Когда все семь кусков будут, собрать их в один. Может всё и поглючится, либо вообще работать не будет, но вот так я думаю...


Комментарии (3): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник Как средствами php будет наиболее оптимально | web_development - Веб-разработка | Лента друзей web_development / Полная версия Добавить в друзья Страницы: раньше»