大文件上传问题

3
我希望使用普通PHP表单上传高达10GB的文件。但在增加以下值之后,
upload_max_filesize
post_max_size
php_value upload_max_filesize
php_value post_max_size
request_terminate_timeout
FcgidMaxRequestLen

我可以上传3GB的文件而没有任何问题。但是当它超过这个限制时,从本地服务器传输到我使用的CDN时就会出现超时问题。我还使用进度条来指示上传过程,但在超时问题发生时进度条会停止。

2个回答

1
你可以尝试使用IaaS解决方案。
例如,我们的服务Uploadcare - 支持上传高达5GB的文件,并且上传的文件可以立即在CDN上使用。如果大小限制太低,我们可以为您增加限制。

1
你可以这样设置时间限制:

<?php
set_time_limit(0);//unlimited

不建议将其设置为无限制,但您可以尝试,并且一旦您对时间有了良好的估计,就可以进行调整。


set_time_limit

(PHP 4, PHP 5)
set_time_limit — 限制最大执行时间


嗨,Meda,谢谢你的回答。我一定会尝试这个方法,但我还有一个疑问:我把代码放在了页面顶部,也就是表单所在的位置,这样写代码是否正确呢? - Priyadarshni
我尝试使用上述函数,但它无法正常工作。在上传大文件时,会出现错误 UPLOAD_ERR_PARTIAL,因此我参考了 Stack 中的链接,发现需要添加 header("Connection: close");,但我不确定该行应添加在哪里。 - Priyadarshni

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接