Вопрос № 31110: Доброго времени суток, господа эксперты.
Вопрос: Время действия PHP-скрипта на сервере составляет 30 секунд, объемные файлы при медленном соединении не успевают загрузиться за это короткое время. Как загрузить большой файл?...
Вопрос № 31.110
Доброго времени суток, господа эксперты.
Вопрос: Время действия PHP-скрипта на сервере составляет 30 секунд, объемные файлы при медленном соединении не успевают загрузиться за это короткое время. Как загрузить большой файл?
Отвечает: Vitava
Здравствуйте, Горячев Игорь!
Используйте set_time_limit (0);
Снимает ограничение на количество времени, отводимое скрипту для выполнения.
Напишите этот оператор перед выполнением загрузки.
Удачи Вам.
Ответ отправил: Vitava (статус: 5-ый класс)
Отправлен: 08.12.2005, 23:06
Отвечает: NeiTrinO
Здравствуйте, Горячев Игорь!
ну во-первых, можно увеличить это время (в натуройках php.ini)
во-вторых, можно данные подгружать. Об этом подробнее в документацию, потому как примеров у меня, к сожалению, не завалялось.
В-третьих... может расскажете что Вы делаете и найдется более лучший метод?
--------- Мы не уверены ни в чем и никогда, зато всегда уверены в обратном
Ответ отправил: NeiTrinO (статус: Заблокирован)
Отправлен: 09.12.2005, 00:00
Отвечает: Lector
Здравствуйте, Горячев Игорь!
Большой файл за 30 сек. - при плохой связи никак.
Можно попытаться увеличить время выполнения скриптана сервере.
Можно попросить разбить файл на несколько частей, а потом написать скрипт, который будет заниматься склеиванием.
А вообще у метода POST есть ограничение на объём передаваемых данных. Что-то около двух МБ. Не помню. Так что больше этого размера файлы вообще никгдане передадутся.
Насколько именно большой файл и в каком он формате?
--------- Хочешь помочь старику - сделай вместо него. Хочешь помочь новичку - сделай вместе с ним. Хочешь помочь мастеру - отойди и не мешай, а хочешь помочь дураку - сам дурак.
Ответ отправил: Lector (статус: Студент)
Отправлен: 09.12.2005, 11:25
Отвечает: Ilya
Здравствуйте, Горячев Игорь!
Во-первых можно попробовать
set_time_limit(0);
Во вторых стОит написать письмо своему хостеру, в котором описать проблему. У меня однажды был случай, когда хостер специальным демоном безопасности убивал мои скрипты, кстати один из них тоже был скриптом аплоада, тобишь загрузки файлов на сервер. Загрузка была пакетной и жрала в полтора раза больше выделенного процессорного времени в итоге я несколько раз её переписывал, убил кучу времени, а проблема оказалась простой - настройки сервера. Удачи.
--------- no pain - no game
Ответ отправил: Ilya (статус: 1-ый класс)
Отправлен: 09.12.2005, 11:36
Отвечает: Дмитрий Иванов
Здравствуйте, Горячев Игорь!
возможности следующие:
1. изменить в php.ini параметр max_execution_time
2. использовать set_time_limit (sec) во время работы скрипта (только если php не в safemode)
--------- ставя оценку - подумай, может ты не все описал.
Ответ отправил: Дмитрий Иванов (статус: 8-ой класс)
Отправлен: 09.12.2005, 12:13
Отвечает: Константин
Здравствуйте, Горячев Игорь!
есть такая фунция set_time_lmit() которая устнавливает время вполнения скрипта, точнее она устанавливает, сколько еще должен выполняться скрипт после вызова этой функции.
вызываешь set_time_limit(300) и он выполняется еще 5 минут с момента вызова (вермя в секундах)
Ответ отправил: Константин (статус: 1-ый класс)
Отправлен: 09.12.2005, 21:37