【发布时间】:2011-01-27 17:12:57
【问题描述】:
我有一个网络应用程序,它接受最大为 4 MB 的文件上传。服务器端脚本是 PHP,Web 服务器是 NGINX。许多用户要求大幅提高此限制以允许上传视频等。
然而,PHP 似乎没有简单的解决方案来解决这个问题。首先,在客户端,我正在寻找可以让我在传输过程中对文件进行分块的东西。 SWFUpload 似乎没有这样做。我想我可以使用 Java FX (http://blogs.oracle.com/rakeshmenonp/entry/javafx_upload_file) 流式上传,但我在 PHP 中找不到任何等效的 request.getInputStream。
增加浏览器 client_post 限制或 php.ini 上传或max_execution 次并不是真正的大文件(~ 1GB)的解决方案,因为浏览器可能会超时并考虑存储在内存中的所有这些 blob。
有没有办法在服务器端使用 PHP 来解决这个问题?非常感谢您的回复。
【问题讨论】:
-
我的一个应用程序允许通过配置您提到的相同服务器端选项来上传 > 1 GB 的文件。用户从未报告过超时或类似情况。
-
一个好的解决方案无处不在,恕我直言。在 56 KBPS 调制解调器/慢速连接上无法上传 1GB 文件。分块解决方案将非常强大,并且可以支持恢复中断的链接。
-
看这里:tus.io
标签: php upload large-files