繁体   English   中英

PHP上传失败(空$ _FILES)

[英]PHP upload fail (empty $_FILES)

我在PHP中遇到一个常见问题:当文件太大时,我的$ _FILES数组为空。

php.ini:

max_execution_time = 300000
max_input_time = 600000000
memory_limit = 5100MB
post_max_size = 5000MB
upload_max_filesize = 5000MB

文件 :

Trouve.tar : 910Mo

配置值很大,但我想确保脚本有时间和内存来进行上传。

所以,授权大小比文件大小大,但我有其他人的错误(例如上传带有php文件上传图像的问题

我错过了一些配置设置吗?

问题是你的post_max_sizeupload_max_filesize的大小相同,这将导致$ _FILES数组(和$ _POST)为空。 如果你在post_max_size上限,$ _FILES数组将不再为空。

编辑:不确定为什么反对票。 虽然它可能不适用于这种情况,但值得一提。 这正是php.net所说的: http ://www.php.net/manual/en/ini.core.php#ini.post-max-size。

如果发布数据的大小大于post_max_size,则$ _POST和$ _FILES超全局变量为空。

在php.ini设置中检查upload_limit

在您的html表单标记中,不要忘记输入: enctype="multipart/form-data"

而不是MB使用M.

memory_limit = 5100M

post_max_size = 5000M

upload_max_filesize = 5000M

除了php.ini配置之外,还要检查Web服务器限制。

例如,如果您正在使用Apache,则可能必须增加LimitRequestBody如果您使用的是nginx,则可能必须增加client_max_body_size

当HTTP请求大于Web服务器接受的限制时,它将返回状态为:413 Request Entity Too Large的HTTP响应。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM