Консультация № 31110
08.12.2005, 22:55
0.00 руб.
0 6 6
Доброго времени суток, господа эксперты.

Вопрос: Время действия PHP-скрипта на сервере составляет 30 секунд, объемные файлы при медленном соединении не успевают загрузиться за это короткое время. Как загрузить большой файл?

Обсуждение

Неизвестный
08.12.2005, 23:06
общий
это ответ
Здравствуйте, Горячев Игорь!
Используйте set_time_limit (0);
Снимает ограничение на количество времени, отводимое скрипту для выполнения.
Напишите этот оператор перед выполнением загрузки.
Удачи Вам.
Неизвестный
09.12.2005, 00:00
общий
это ответ
Здравствуйте, Горячев Игорь!
ну во-первых, можно увеличить это время (в натуройках php.ini)
во-вторых, можно данные подгружать. Об этом подробнее в документацию, потому как примеров у меня, к сожалению, не завалялось.
В-третьих... может расскажете что Вы делаете и найдется более лучший метод?
Неизвестный
09.12.2005, 11:25
общий
это ответ
Здравствуйте, Горячев Игорь!
Большой файл за 30 сек. - при плохой связи никак.
Можно попытаться увеличить время выполнения скриптана сервере.
Можно попросить разбить файл на несколько частей, а потом написать скрипт, который будет заниматься склеиванием.
А вообще у метода POST есть ограничение на объём передаваемых данных. Что-то около двух МБ. Не помню. Так что больше этого размера файлы вообще никгдане передадутся.
Насколько именно большой файл и в каком он формате?
Неизвестный
09.12.2005, 11:36
общий
это ответ
Здравствуйте, Горячев Игорь!
Во-первых можно попробовать
set_time_limit(0);
Во вторых стОит написать письмо своему хостеру, в котором описать проблему. У меня однажды был случай, когда хостер специальным демоном безопасности убивал мои скрипты, кстати один из них тоже был скриптом аплоада, тобишь загрузки файлов на сервер. Загрузка была пакетной и жрала в полтора раза больше выделенного процессорного времени в итоге я несколько раз её переписывал, убил кучу времени, а проблема оказалась простой - настройки сервера. Удачи.
Неизвестный
09.12.2005, 12:13
общий
это ответ
Здравствуйте, Горячев Игорь!

возможности следующие:
1. изменить в php.ini параметр max_execution_time
2. использовать set_time_limit (sec) во время работы скрипта (только если php не в safemode)
Неизвестный
09.12.2005, 21:37
общий
это ответ
Здравствуйте, Горячев Игорь!
есть такая фунция set_time_lmit() которая устнавливает время вполнения скрипта, точнее она устанавливает, сколько еще должен выполняться скрипт после вызова этой функции.
вызываешь set_time_limit(300) и он выполняется еще 5 минут с момента вызова (вермя в секундах)
Форма ответа