2012-03-09 4 views
0

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

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

  2. кнопку Папка щелчки «Add» (это предварительно кнопка отправки)

  3. виде параметров сохраняются в LocalStorage, и форма очищается, так что пользователь может ввести новые данные в форму ,

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

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

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

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

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

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

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

[edit] Я забыл добавить, что для выполнения этой работы это выполняется на локальном хосте. Первое, что мне нужно, это то, что мне нужно сейчас. [/ Edit]

+0

И что «некоторая ошибка» ...? –

+0

Прочитайте это: http://www.somacon.com/p395.php и прочитайте следующее: http://stackoverflow.com/questions/265073/php-background-processes – rkosegi

+0

что «некоторая ошибка» не является «есть», ошибка ... подразумевается огромное количество различных ошибок и проблем. – user1167442

ответ

0

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

+0

Это неправда. Я смог загрузить их с помощью встроенных ftp-методов php.Единственная проблема заключалась в том, что мне пришлось ждать, пока они закончат загрузку. Я действительно испытал успех при загрузке их, просто используя ftp_put. Ссылка хороша, но у нее, похоже, нет ничего, что могло бы решить проблему запуска файлов в фоновом режиме. – user1167442

+0

Как вы говорите _ Единственная проблема заключалась в том, что мне пришлось ждать, пока они закончат загрузку. Вот почему я сказал: «Вы не можете отправлять файлы напрямую на ftp_, и поэтому вы должны хранить файлы локально и отправлять их с помощью cron позже (выполните cron каждые 5 минут). – Axel