PHP ftp загрузка в фоновом режиме - PullRequest
0 голосов
/ 09 марта 2012

Я хотел бы загрузить изображения, найденные в определенной папке, используя FTP в файле php.Я загружаю на ftp.photobucket.com, и папка, в которой находятся изображения, зависит от пользовательского ввода.Как я хотел бы сделать это следующим образом:

  1. Пользователь вводит имя папки (или выбирает из списка) в поле формы.

  2. Папка нажимает кнопку «Добавить» (это кнопка предварительной отправки)

  3. Параметры формы сохраняются в localStorage, а форма очищается, чтобы пользователь мог вводить новые данныев форму.

  4. В этот момент соединение ftp открывается в фоновом режиме, создает удаленную папку и загружает изображения (это может произойти после отправки, чтобы предотвратить многократное выполнение сценария ftp, но делать это в данный момент желательно для экономии времени)

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

  6. Пользователь нажимает кнопку «Отправить», и все данные формы публикуются в файле php, создавая динамический файл (ы) на основе ввода формы.

  7. Все время процесс ftp продолжаетбез фоновой загрузки в фоновом режиме.

  8. После завершения процесса ftp пользователь получает уведомление о том, что его файлы доступны для просмотра.Он может, конечно, просмотреть файлы до этого, но изображения будут отображаться как неработающие ссылки, пока загрузка не будет завершена.

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

Это на коробке Windows, и я попробовал трюк psexec.exe ( найти psexec на этой странице ), чтобыбезрезультатно.Я теперь запутался после нескольких попыток, и даже отладка больше не имеет никакого смысла для меня.Любая помощь?

[править] Я забыл добавить, что в целях выполнения этой работы, это работает на localhost.Сначала мне нужно заставить его работать там.Остальное я отработаю по мере необходимости. [/ Edit]

1 Ответ

0 голосов
/ 09 марта 2012

Вы не можете напрямую отправлять файлы на ftp, используя PHP. Вы должны сначала загрузить их локально. И после того, как вы можете отправить их на FTP с помощью PHP. Вы можете использовать cron на своем веб-хосте для запуска php-скрипта и отправки файлов по ftp. Существует много классов php для управления ftp: http://www.phpclasses.org/searchtag/ftp/by/package/tag/ftp/

...