使用进度报告将文件上载到外部站点

时间:2009-10-03 13:20:04

标签: php ajax

这是我的情况:

我想创建一个AJAX文件上传脚本,该脚本将上传到外部站点(即:不是脚本所在的站点),同时报告上载进度。我该怎么做呢?请注意,该过程必须是安全的。

4 个答案:

答案 0 :(得分:0)

有两种方法可以做:

flash方法的优点是它不需要您重写任何服务器端脚本。如果您上传到与您不同的服务器,则此功能尤其出色。您确实需要在该服务器上放置cross domain xml file

ajax版本的优点是它不需要您的用户安装闪存。

答案 1 :(得分:0)

如果您要将文件发布到另一台服务器,则无法知道此上传的状态,因为用户浏览器和远程站点之间的上传已完成。

如果您可以访问处理其他站点上的文件上载的脚本,则可以使用Zend_File_Transfer和Zend_ProgressBar从其他站点获取有关uplad进度的信息并将其显示在您的页面上。

注意:要使用Zend_ProgressBar,您需要APC或uploadprogress扩展名。

答案 2 :(得分:0)

使用ajax和php无法获得确切的进展。使用php和ajax,您只能知道上传正在进行或已完成。这就是为什么所有ajax / php应用程序都加载但没有进度条的原因。如果您明确需要进度条,则应使用 PERL CGI

答案 3 :(得分:0)

Flash(swfupload)可能是最简单的。 Vimeo.com也使用swfupload来实现这一目标。我只知道其他方法涉及php和APC,可以在http://phpriot.com/articles/php-ajax-file-uploads找到一个教程。