【问题标题】:PHP ftp upload in the backgroundPHP ftp 后台上传
【发布时间】:2012-03-09 14:55:02
【问题描述】:

我想使用 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 技巧 (find psexec on this page) 无济于事。经过多次尝试,我现在感到困惑,甚至调试对我来说也没有任何意义。有什么帮助吗?

[编辑]我忘了添加,为了使这项工作,这是在 localhost 上运行的。首先让它在那里工作是我现在需要的。我会根据需要解决剩下的问题。[/edit]

【问题讨论】:

标签: php windows upload background ftp


【解决方案1】:

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

【讨论】:

  • 这不是真的。我能够使用 php 的内置 ftp 方法上传它们。唯一的问题是我必须等待他们完成加载。不过,我确实在使用 ftp_put 上传它们方面取得了成功。该链接很好,但似乎没有任何解决在后台运行文件的问题。
  • 正如你所说的唯一的问题是我必须等待他们完成加载这就是为什么我说你不能直接将文件发送到 ftp 这就是为什么你必须在本地存储文件,然后使用 cron 发送它们(每 5 分钟执行一次 cron)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-16
  • 2014-10-21
  • 2011-02-28
  • 1970-01-01
相关资源
最近更新 更多