gpt4 book ai didi

php - 文件上传中的PHP错误处理

转载 作者:行者123 更新时间:2023-12-03 08:59:35 24 4
gpt4 key购买 nike

当上传的图片大小超过3MB时,我想显示一条错误消息。
这是我当前的代码。当图像超过3MB时,它将正确显示错误消息,但是当没有图像上传时,也会显示错误消息。我该如何解决?

//image check start
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 3072000))
//image check end
{
if($_FILES['file']['size'] > 0)
{
file uploading script
} else {
do nothing
}
} else {
error("Maximum image size exceeded or invalid file format.");
}

最佳答案

好吧,如果您考虑没有上传任何文件时的情况,您会发现它会失败,因为所有类型检查都不会返回true,因此它将在其他错误之后出现在错误行中。

您需要这样的东西:

if ( $_FILES['file']['size'] == 0 ) 
{
// do nothing
} else {
//image check start
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 3072000))
//image check end
{
file uploading script
} else {
error("Maximum image size exceeded or invalid file format.");
}
}

显然,如果没有上传任何文件,您真的不需要执行任何操作,则可以这样做:
if ( $_FILES['file']['size'] != 0 ) 
{
//image check start
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 3072000))
//image check end
{
file uploading script
} else {
error("Maximum image size exceeded or invalid file format.");
}
}

关于php - 文件上传中的PHP错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10989614/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com