upload больших файлов

  • Автор темы Автор темы skeeve
  • Дата начала Дата начала
Статус
В этой теме нельзя размещать новые ответы.

skeeve

Новичок
upload больших файлов

Кто-нить знает как большие файлы залить через ПХП?
реально большие без ограничения на размер.
простое увеличение таймаута не прокатит, т.к. загрузка может занять хоть 3, хоть 5 часов.
Можно ли сделать какое-то обновление страницы во время загрузки, чтобы закачка продолжалась? желательно чтоб при обновлении еще % загрузки выводился...
 
ты хотел спросить как _принимать_ такие файлы пхп-скриптом?
 
http://phpclub.ru/detail/article/upload

upload_max_filesize - максимальный размер файла, который может быть загружен. Если Вам необходимо работать с большими файлами, измените эту настройку. По умолчанию 2М. Не забудьте изменить post_max_size.
 
не, я не о том
если посетитель заливает 30 метров с модема, то просто таймаут будет. в этом проблема
нужно как-то рефрешить страницу во время загрузки, продолжая аплоад файла
 
С какой стати будет таймаут? Таймаут будет когда сервер не отвечает в течение определенного времени. А когда данные туда-сюда идут, то никакого таймаута не будет. Или тогда при скачивании файла браузер тоже отваливает по таймауту?
 
В IE замечен глюк, что он обрывает закачку страницы, если в течении длительного времени не получает никакого контента.
Посылай вначале 1кб какой-нибудь пустого текста:

<? echo '<!--'.str_repeat('.',1024).'-->'; flush(); ?>
 
zxc
jfyi: когда происходит закачка файла, сам пхп-скрипт еще не начинает свою работу.
 
whirlwind

а сервер именно и не отвечает в течении долгого периода времени, потому что данные еще посылаются на сервер, т. е. инициировано обращение, но веб-сервер слишком долго получает все тело запроса. http://httpd.apache.org/docs/1.3/mod/core.html#timeout
 
хорошо, а есть ли возможность выводить статус бар, насколько закачан файл? или это нереально?
 
Ну и? вдумчиво читаем

1.The total amount of time it takes to receive a GET request.
2.The amount of time between receipt of TCP packets on a POST or PUT request.
3.The amount of time between ACKs on transmissions of TCP packets in responses.
Речь о пакетах, а не о файлах. На каждый отправленный пакет, браузер получает подтверждение. Это протокол TCP/IP который к файлам или их объемам не имеет никакого отношения. Так же как и соединение браузера с сервером не имеет никакого отношения к файлам. Таймаут - это когда браузер в течении определенного времени не получил подтверждения на прием пакета сервером, или при получении данных - наоборот. При чем тут общий объем данных я никак не пойму. Или вы хотите сказать что 600 меговый файл отправляется одним пакетом? :)

-~{}~ 10.08.06 15:12:

другое дело что за время

загрузка может занять хоть 3, хоть 5 часов.
Шансов получить "непринятый" пакет на медленном канале больше, чем за 5 минут. И здесь уже вопрос в другом - а правильный ли выбран протокол для передачи данных. Ведь в случае обрыва, докачать файл отправленный постом по HTTP неудастся.
 
whirlwind да не, мы только хотим сказать, что при длительной пересылке больших объемов данных (и по модему) есть некоторый эффект "затухания" обмена пакетами, который постепенно приводит к обрыву. Ниоткуда не следует, кроме исключительно опыта наступления на грабли.

собственно, эта мысль частично совпадает с вашим дополнением -~{}~ 10.08.06 15:12:
 
ИМХО для этих целей лучше всё-таки использовать FTP или какие-нибудь подобные методы.
 
Чтобы не создавать новую тему, напишу здесь.

Нужно реализовать загрузку больших файлов (100-200МБ) через HTTP (PHP), как это сделать? Есть ли где-нибудь примеры скриптов?
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху