2012-03-09 78 views
0

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

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

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

  3. 形式参数保存在本地存储,并且形式被清除,从而使用户可以输入新数据形式。

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

  5. 用户在图像上传时向表单中输入新数据,并按其选择的频率重复。

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

  7. 所有的时候,ftp进程继续在后台默默上传。

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

我已经有了这个工作的每一步,除了在后台运行ftp。无论我尝试了什么,都出现了一些错误。我尝试过内置ftp方法的各种组合,并且我也尝试从文件系统运行批处理脚本。我在php.net上找到的任何内容都没有提供任何有效的工具。

这是在Windows机器上,我试过psexec.exe技巧(find psexec on this page)无济于事。多次尝试后,我现在感到困惑,甚至调试对我来说都不再有意义。任何帮助?

[编辑]我忘了补充说,为了使这项工作,这是在本地主机上运行。首先让它在那里工作是我现在需要的。 [/编辑]

+0

而且“有些错误”是......? – 2012-03-09 15:17:18

+0

阅读:http://www.somacon.com/p395.php并阅读此:http://stackoverflow.com/questions/265073/php-background-processes – rkosegi 2012-03-09 15:27:04

+0

,“一些错误”不是“是”错误......它意味着意味着大量不同的错误和问题。 – user1167442 2012-03-10 04:17:55

回答

0

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

+0

这是不正确的。我能够使用php的内置ftp方法上传它们。唯一的问题是我不得不等待他们完成加载。尽管我只是使用ftp_put上传了他们,但确实获得了成功。该链接是好的,但它似乎没有任何解决在后台运行文件的问题。 – user1167442 2012-03-10 04:14:19

+0

正如你所说_唯一的问题是,我不得不等待它们完成加载_这就是为什么我说_你不能直接发送文件到ftp_,这就是为什么你必须在本地存储文件,并在以后使用cron发送它们(做一个每5分钟一次)。 – Axel 2012-03-10 15:19:13