文件上传大文件PHP / AJAX

时间:2010-08-25 01:40:50

标签: php ajax file-upload

我试图找一些软件来帮助我上传真正大的文件(> 200mb)。我只想上传一个文件,没有多选项。如果可能的话,我想要一个简单的进度条。

我遇到了http://pixeline.be/experiments/jqUploader/,这实际上是我需要的,但每个文件的限制为100mb,因为它使用flash。

有没有人知道其他类似的内容,但可以处理更大的文件?

THX

4 个答案:

答案 0 :(得分:2)

您可以尝试使用HTML5和AJAX来处理大型文件上传。与PHP流组合使用,您将获得非常低的内存使用率。这里有一个更详细的链接:

http://www.webiny.com/blog/2012/05/07/webiny-file-upload-with-html5-and-ajax-using-php-streams/

答案 1 :(得分:1)

另一种流行的解决方案是http://www.swfupload.org/,但我猜它可能会受到100MB的限制。

关于大文件大小的整个问题,从我的研究看来,为了上传大文件,除了增加upload_max_filesize,post_max_size和max_execution时间的值之外别无选择。我只是想知道将post_max_size设置为500M会对安全性产生什么影响?它不是我所关心的带宽问题 - 可能是因为允许攻击者向服务器发送随机500M POST请求而引起的DoS攻击。我能想到的最好的解决方法是将上传发送到其他服务器。

这里对整个问题进行了很好的讨论:

http://aaronwinborn.com/blogs/aaron/how-handle-large-file-uploads

如果有任何Apache黑客可以清楚地了解为post_max_size设置一个非常大的值会对安全性产生什么影响。

答案 2 :(得分:1)

我建议实现一个Java上传器,如JumpLoader,并将其与您当前的系统集成。它具有广泛的API,其JScript界面​​也很容易访问。您可以像我一样编写服务器端处理程序并使其具备以下功能:

  1. 多个文件上传
  2. 上传文件大小没有任何限制 - 我目前正在努力克服fopen()的PHP 2G限制,但我希望尽快解决
  3. 分区上传 - 文件以块的形式上传
  4. 传输完整性 - JumpLoader还可以为每个分区和整个文件本身计算和发送md5校验和,您可以在服务器端验证它是否正常运行。
  5. 希望它有所帮助。

答案 3 :(得分:0)