当用户上传文件时,我在php的error_log中遇到类似的错误
PHP警告:POST内容长度11933650字节超过了第0行的Unknown中的8388608字节限制
在我的php.ini(在public_html中创建自定义ini文件)这会解决这个问题,我需要将它设置为1GB左右?我将在php.ini中将我的设置更改为此,它会解决问题吗?
upload_max_filesize = 1000M ;1GB
post_max_size = 1000M
Run Code Online (Sandbox Code Playgroud)
我将'memory_limit'限制为什么?
在我的脚本中检查文件上传大小是否<1GB也是正确的
if($_FILES["uploadedfile"]["size"]<1000000)
Run Code Online (Sandbox Code Playgroud) 我很惊讶在我的错误日志中找到上述错误,因为我认为我已经完成了必要的工作以捕获我的PHP脚本中的错误:
if ($_FILES['image']['error'] == 0)
{
// go ahead to process the image file
}
else
{
// determine the error
switch($_FILES['image']['error'])
{
case "1":
$msg = "Uploaded file exceeds the upload_max_filesize directive in php.ini.";
break;
....
}
}
Run Code Online (Sandbox Code Playgroud)
在我的PHP.ini脚本中,相关设置是:
memory_limit = 128M
post_max_size = 3M
upload_max_filesize = 500K
Run Code Online (Sandbox Code Playgroud)
据我所知,3M相当于3145728字节,这就是触发错误的原因.如果文件大小超过500K但小于3m,PHP脚本将能够按照正常运行,在发出错误信息$msg按case 1.
当帖子大小超过post_max_size但仍然在内存限制范围内时,如何捕获此错误而不是让脚本突然终止并发出PHP警告?我在这里,这里和这里看过类似的问题,但找不到答案.
目前,当用户上传照片时,该页面显示"警告:POST内容长度XXX字节超过了第0行未知中21000000字节的限制".
我知道这意味着什么,我不找solultions如增加max_upload值甚至memory_size_limit ......因为用户可以和用户会上传的废话TB的,即使你明确地告诉他们,只有20MB的最大文件和图像只允许.
我正在寻找一个解决方案:
编辑:请仔细阅读!- 请理解当然我正在处理错误/警告(自第1行以来),问题是这发生在虚拟"行0"上,这就是为什么我需要隐藏错误或阻止它引发 - 因为我不能放发生错误的地方之前的任何代码.
EDIT2:经过长时间的研究和挖掘后,我得到了一个想法 - 它有效 - 看看我自己的答案.