PHP if语句不能正常工作(矛盾)

时间:2017-10-20 12:48:22

标签: php if-statement image-upload

我遇到了一个奇怪的问题。我想在PHP中编写一个简单的多图像上传脚本。 因此,我需要一个if语句来检查图像是否具有正确的图像类型,而这种图像类型并不像预期的那样工作。我尝试上传的图片是.jpg图片。 " jpg"信息存储在变量$ mediaFileType中,由if语句检查。通常它应该现在在else语句中执行脚本,但它总是相反,并指出" jpg" !=" jpg" =真。它显然不是。那我在这里错过了什么?

if($mediaFileType != 'jpg' && $mediaFileType != 'png' && $mediaFileType != 'jpeg')
 {

    echo 'Wrong Media Type<br>';
    echo $mediaFileType;
    exit();

} else {
    ....
}

该网站只是说:

Wrong Media Type
jpg

2 个答案:

答案 0 :(得分:1)

您可以使用:

if (!in_array(trim($mediaFileType), ['jpg', 'png', 'jpeg'])) {
    echo 'Wrong Media Type<br>';
    echo $mediaFileType;
    exit();
}

答案 1 :(得分:1)

您的问题可能是空格字符

if (!in_array(trim($mediaFileType), ['jpg', 'png', 'jpeg']))
{
    echo 'Wrong Media Type<br/>';
    var_dump($mediaFileType);
    exit();
}
...