后台PHP ftp上传


PHP ftp upload in the background

我想在php文件中使用FTP上传在特定文件夹中找到的图像。我正在上传到ftp.photobucket.com,图像所在的文件夹取决于用户输入。我想如何做到这一点,如下所示:

  1. 用户在表单字段中输入文件夹名称(或从列表中选择)。

  2. 文件夹点击"添加"按钮(这是一个预提交按钮)

  3. 表单参数保存在localStorage中,并清除表单,以便用户可以在表单中输入新数据。

  4. 此时,ftp连接在后台打开,创建远程文件夹,并上传图像(这可能发生在提交后,以防止多次执行ftp脚本,但出于节省时间的目的,此时这样做更可取)

  5. 用户在上传图像时将新数据输入表单,并根据自己的选择重复。

  6. 用户按下submit,所有表单数据都发布到php文件中,根据表单输入构建动态文件。

  7. 一直以来,ftp进程都在后台静默地继续上传。

  8. ftp过程完成后,用户会收到通知,说他的文件可供查看。当然,他可能会在那之前查看文件,但在上传完成之前,图像会显示为断开的链接。

除了在后台运行ftp之外,我已经完成了这项工作的每一步。不管我试过什么,都有一些错误。我尝试了各种内置ftp方法的组合,还尝试了从文件系统运行批处理脚本。我在php.net上发现的任何东西都没有提供任何有效的东西。

这是在Windows盒子上,我尝试过psexec.exe技巧(在此页面上查找psexec),但没有成功。经过多次尝试,我现在感到困惑,甚至调试对我来说也不再有任何意义。有什么帮助吗?

[edit]我忘了添加一点,为了使这项工作正常进行,它正在localhost上运行。一开始让它在那里工作是我现在需要的。我会根据需要解决剩下的问题。[/edit]

您不能使用PHP直接将文件发送到ftp。您必须首先在本地上传它们。然后,您可以使用php将它们发送到ftp。您可以在web主机上使用cron来执行php脚本并在ftp上发送文件。有许多php类可以管理ftp:http://www.phpclasses.org/searchtag/ftp/by/package/tag/ftp/