我正在尝试确定图像的mime类型:
$image = $_FILES['image']; //code shortened
function determineImage($imageResource){
$errors = array();
$types = array('gif' => IMAGETYPE_GIF,
'jpeg' => IMAGETYPE_JPEG,
'png' => IMAGETYPE_PNG,
'bmp' => IMAGETYPE_BMP);
if ( !in_array(exif_imagetype($imageResource['tmp_name']), $types )) {
$errors[] = 'Cannot determine mime type';
}
if ($imageResource['type'] !== 'image/gif' ||
$imageResource['type'] !== 'image/jpeg' ||
$imageResource['type'] !== 'image/pjpeg' ||
$imageResource['type'] !== 'image/png'){
$errors[] = 'Again cannot determine type';
}
return $errors;
}
我使用
var_dump(determineImage($image));
此保持返回数组(1){[0]=>字符串(27)"再次无法确定类型"}
然而:
echo $image['type'];
仅返回:
image/png
我还打开了error_reporting(E_ALL)。有人知道问题出在哪里吗?我犯了一个愚蠢的错误吗?
代码是完全随机的(检查根本没有意义)
顺便说一下
if ($imageResource['type'] !== 'image/gif' AND
$imageResource['type'] !== 'image/jpeg' AND
$imageResource['type'] !== 'image/pjpeg' AND
$imageResource['type'] !== 'image/jpg' ...
AND not OR