Загрузка файлов большого размера на сервер

Кром

Новичок
>ОК, даже если взять совершенно легковесный сервер

Ну во-первых никто не предлагает ставить тяжеловестный сервер. Станно что для тебя это не очевидно.
Во-вторых, настроив папку на локальном сервере можно скидывать в нее что угодно из любого источника. С DC++, с различных мессенджеров, с других файловых серверов, с сайтов и т.д. При этом дальше все будет закачиваться на сервер уже без всякого пользовательского вмешательства.
 

FreeSpace

Чукча-читатель
baev, спасибо, внимание обратил.
Только смысл какой-то туманный.
Что подразумевается под вмешательством?
По-моему, установка FTP-сервера на машину клиента - это нехиленькое такое вмешательство :)
 

Кром

Новичок
kruglov Это типа шутка такая? При чем тут маршрутизатор?

-~{}~ 11.09.06 15:22:

FreeSpace У тебя есть одна проблема, ты или не читаешь тред полностью, или просто не в состоянни держать в уме все сказанное в одном треде. Возможно и то и другое.
Потренируйся сначала, потом приходи высказываться.
 

FreeSpace

Чукча-читатель
Автор оригинала: Кром
Во-вторых, настроив папку на локальном сервере можно скидывать в нее что угодно из любого источника. С DC++, с различных мессенджеров, с других файловых серверов, с сайтов и т.д. При этом дальше все будет закачиваться на сервер уже без всякого пользовательского вмешательства.
А если пользователь выключит комп, то закачиватся всё перестанет :)
А можно настроить rsync или что-то аналогичное под win, чтобы содержимое клиентской директории по FTP (или другому протоколу) синхронизировалось с директорией на сервере.

Поймите меня правильно, возможно в вашей конкретной ситуации этот подход был оптимальным.
Но если советовать начинающим разработчикам устанавливать FTP-серверы своим пользователям, ничего хорошего из этого точно не выйдет.
В данном случае могу привести контр-совет: нужно установить клиент DC++ и всё, что ещё может понадобится - на сам сервер. И работать через ssh / remote desktop :)
 

whirlwind

TDD infected, paranoid
Кром Круглов прав, ИМХО
как правило затраты по написанию

foreach ( glob(....) as ... ){
....
ftp_put(....);
}

гораздо ниже того гемороя, который связан с: получением постоянного IP, настройкой маршрутизации/NAT, дополнительных мер по защите сети от "интернета".
 

XOR_URAL2

Новичок
смотри пост номер 2 данного топика лучшего варианта по моему нет
 

FreeSpace

Чукча-читатель
XOR_URAL2
Ну думаю с этим уже согласны все, сейчас просто идёт выяснение тонкостей типа нужно ли из клиента делать сервер, а из сервера - клиент? :)
 

Кром

Новичок
>если советовать начинающим разработчикам устанавливать FTP-серверы своим пользователям

Никто не предлагает устанавливать пользователям ftp-сервера.

whirlwind
Если для веб-программиста проблема получить выделенный IP, настроиться и защитить себя от интернета, то для него такое решение, естественно, не подойдет.
 

garrymax

Новичок
Есть куча свободных серверов, которые закачивают файлы большого размера POST-методом, без всякого FTP. Преимущество FTP только в возможности дозакачки, а все остальное решаемо.

Главное, это установить у сервера Apache в файле конфигурации (httpd$$$.conf) указать нужное значение LimitRequestBody в байтах. А в php.ini аналогично установить upload_max_filesize и post_max_size (тут можно с `M` для мегов). После этого можно пользоваться обычной формой. При отладке лучше не пользоваться .htaccess - все в настройки сервера и php.

Дополнительно в php.ini можно установить
memory_limit (скока оперативной памяти использовать на сервере - POST-метод, это поток, который любит в памяти сидеть до окончательной загрузки), а для Apache указать побольше секунд в Timeout для медленных соединений (дозакачки нет - лучше подстраховаться).

Еще рекомендуют первым полем, для подстраховки настроек браузера, в форме ставить вот такое <input type="hidden" name="MAX_FILE_SIZE" value="262144000" /> (это для 250М=250*1024*1024), но на моей практике это было лишнее. Также, стандартные настройки прокси просто не кэшируют файлы, которые превышают установленный лимит.
 

dimagolov

Новичок
garrymax, у тебя та же проблема, что и у FreeSpace

whirlwind, на самом деле ftp-шник на девелоперской машине рулит, так как:
1. даже если IP не статика, то DynamicDNS рулит, хотя и череват боками по безопастности.
2. защитить девелоперскую машину от интернета проще простого - открыть FTP на Firewall только для production-сервера, IP которого статичен
3. в админке можно хоть файл-мереджер сделать, которым прозрачно тягать файлы с девелоперского FTP, хоть автозагрузчик, который бы тянул обновления сайта по крону.
 

FreeSpace

Чукча-читатель
dimagolov, у меня проблем нет ;)

Кстати, было бы здорово, если бы уважаемые диггеры оставили тему двухлетней давности в покое :)
 

garrymax

Новичок
FreeSpace Правило, наверное всех форумов: Если тема не закрыта, значит заданный вопрос не решен.

Если не прав, то пускай модератор закроет тему - а на счет срока давности: Я на эту тему вышел через поисковик при поиске халявного примера загрузки с применением AJAX - по загрузке больших файлов, в сети самый полный ответ, но не до конца полный, только от разработчиков PHP.

dimagolov По моему был задан вопрос о пересылке файла на сервер кроме как через ftp-клиент, а в ответах давалось только FTP и что по HTTP это не возможно, вопреки документации и реальным примерам. Я не против FTP - у вопросящего нет такой возможности.
 
Сверху