今天我正在为头像制作文件上传,一切运行正常,它调整图像大小等,但偶尔选择一个大而无效的文件时会产生此错误:
Warning: POST Content-Length of 52091839 bytes exceeds the limit of 8388608 bytes in Unknown on line 0
You did not select a file to upload.
这种情况不会偶尔发生。通常它只是在文件太大时给出正确的错误消息。
有没有人知道这个错误的来源,以及它显示的原因?
谢谢!
答案 0 :(得分:5)
听起来你需要在php.ini中增加post_max_size
。如果您还没有增加upload_max_filesize
,则可能还需要增加它。
# php.ini
# Allow huge files:
# Post usually needs to be bigger than file upload size!
post_max_size = 256M
upload_max_filesize 128M
答案 1 :(得分:2)
将php.ini中的post_max_size
更新为更大的值
upload_max_filesize
设置用户可以上传的最大文件大小,而post_max_size
设置可以通过表单中的POST发送的最大数据量。这可能是您尝试上传大型单个文件时有时会出现大文件错误的原因,但是当您尝试上传多个文件时会引发上述错误。
答案 2 :(得分:1)
这与上传文件时的编码方式有关。
基本上它被“视为”一个非常大的POST。
因此,您希望php.ini
post_max_size
大于upload_max_filesize
值。
根据您使用的编码,它应该从60%增加到100%。
否则,您的最大文件大小可能为5 M,但这会被编码为8.01 M;当发生这种情况时,检查文件大小会通过,但是邮件正文大小的检查会失败。因此你的错误。