Веб-загрузчик с несколькими файлами, который загружает на удаленный FTP? - PullRequest
0 голосов
/ 21 июня 2011

После того, как я вырвал свои волосы на прошлой неделе, я ищу какой-нибудь веб-загрузчик, который позволил бы моим клиентам загружать кучу файлов (часто до 200) и сохранять их на удаленном FTP-сервере. Я ищу что-то похожее на uploadify, swfupload и т. Д., Но у меня есть возможность загружать файлы через мою веб-страницу (в моей хостинговой компании) и сохранять их на моем локальном ftp-сервере.

Я ищу что-то похожее на uploadify, swfupload и тому подобное, но крайне важно, чтобы у него была возможность хранить файлы на моем локальном сервере.

Если это как-то невозможно сделать, он также может просто загрузить файлы на мой сайт через html (что делает uploadify и т. Д.) И после завершения скопировать файлы с веб-сервера на мой локальный ftp.

Самым близким, что я нашел, было что-то под названием filechunker , и это выглядело как идеальное решение, НО это не позволит мне добавить несколько файлов, по одному.

Вся помощь будет высоко оценена!

Ответы [ 3 ]

0 голосов
/ 21 июня 2011

Я не думаю, что целесообразно загружать данные прямо из браузера на ваш FTP, так как вы должны иметь свои учетные данные более или менее видимыми на веб-сайте (например, в вашем источнике JavaScript).

Однажды я создал нечто подобное, но из-за этой проблемы я решил загрузить через plupload в Amazon S3 и затем синхронизировать файлы через s3sync. Преимущества были

  • Большие размеры файлов (2 ГБ +)
  • Одноразовые токены для загрузки, не нужно отправлять учетные данные клиенту
  • нет трафика на ваш веб-сервер (обмен данными client->s3)

Взгляните на этот поток для реализации: http://www.plupload.com/punbb/viewtopic.php?id=133

0 голосов
/ 23 июня 2011

После дикого поиска я наконец нашел что-то, что я мог бы использовать. Этот Java-апплет позволяет загружать бесконечное количество файлов, архивировать их, и мне удалось передать переменную php в апплет, чтобы zip-файл сохранялся с адресом электронной почты пользователя в качестве имени файла.Хотя это стоило мне 29 долларов, но оно того стоит, поскольку теперь я полностью контролирую, куда идут файлы и кто их загрузил.

0 голосов
/ 21 июня 2011

К сожалению, я не могу дать вам конкретный ответ, но позвольте мне сказать, что это теоретически возможно сделать для приложений Flash или Java, поскольку они могут использовать необработанные сокеты TCP и реализовывать протокол FTP (но я не знаю, любой реализации на основе Flash).

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

Однако я не рекомендую вам использовать FTP-сервер вообще. Этот протокол с его двойным соединением и пассивными / непассивными режимами часто вызывает проблемы. Обычно гораздо лучше загружать через HTTP и самостоятельно реализовывать файловый сервер на основе HTTP, что в конце концов довольно просто (но будьте очень осторожны, чтобы не подвергать слишком много файловой системы вашего сервера).

Я не вижу реальной причины для использования FTP, если вы действительно не хотите, чтобы ваши пользователи могли использовать свой FTP-клиент по своему выбору, но это противоречит вашему вопросу.

Надеюсь, это поможет.

Обновление: Я только что заметил предложение " скопировать файлы с веб-сервера на мой локальный ftp ". В случае, если вы действительно говорите о двух разных серверах, я все же предложил бы выгрузку HTTP, а затем переслать файл на FTP-сервер через скрипт PHP (ваш веб-сервер выступает в роли прокси).

...