你知道用php和html5上传的文件有多大吗?
和
有没有什么好的组件或例子来做这件事的建议?
非常感谢!
发布于 2013-01-29 15:28:27
在服务器端,最大上传大小受到php、post_max_size和upload_max_filezize的限制。
此外,您的can服务器可以限制您的帖子正文的最大大小。例如Apache limitrequestbody,默认为0 = unlimited或nginx client_max_body_size,默认为2MB
如果您计划使用html5上传大文件,则可能需要了解一下所有现代浏览器都支持的file.slice
文件API Firefox中对.slice的
支持支持Blob API和随附的.slice API。这可以帮助那些想要处理来自JavaScript的大型文件对象的部分的人,而不必将整个文件加载到内存中。可靠上传大文件的人可以使用一些服务器和JS代码将大文件拆分成多个分片,并上传分块,包括重试失败的分片,甚至并行上传多个分片。
使用此功能,您可以分块上传大文件,然后在服务器端再次合并它们。
编辑
我找到了一篇很棒的文章,它解释了通过xhr流式上传html5
http://www.webiny.com/blog/2012/05/07/webiny-file-upload-with-html5-and-ajax-using-php-streams/
这个过程占用的内存非常少,你可能仍然会遇到webserver和php上传的限制,因为这是通过一个请求完成的。代码应该能让你了解整个技术是如何工作的。
发布于 2013-01-29 15:08:56
当涉及到大文件上传时,PHP是相当糟糕的,特别是因为你有一个高于文件大小的内存限制。同样,32位系统上的Apache本身往往有2G的文件限制,所以即使PHP可以处理上传,Apache也会阻塞。
您需要在php.ini中设置upload_max_filesize和post_max_size的值:
;上传文件的最大允许大小。upload_max_filesize = 40M
;必须大于或等于upload_max_filesize post_max_size = 40M
如果你不能改变你的php.ini,那你就不走运了。您不能在运行时更改这些值;当执行到达您对ini_set的调用时,上载大于php.ini中指定的值的文件将失败。
请参阅Description of core php.ini directives。
上传文件的最大大小为整数。使用整数时,该值以字节为单位
发布于 2013-01-29 15:14:39
最大文件大小值在phi.ini文件中定义。
在php.ini中搜索此内容
上载文件的最大允许大小。
upload_max_filesize = 32M
https://stackoverflow.com/questions/14577383
复制相似问题