如何检查上载的文件是否是受支持的文件

时间:2013-06-30 19:22:20

标签: php image getimagesize

我正在上传 tif 文件,但我总是收到回复'不支持上传的文件类型'。为什么? 如何根据我支持的文件数组检查文件是否受支持

//image types supported
$types = array(IMAGETYPE_JPEG, IMAGETYPE_PNG, IMAGETYPE_TIFF);

list($width, $height, $type) = getimagesize($_FILES[$name]['tmp_name']);
$ext = image_type_to_extension($type); // get the extension

if (!isset($types[$type])) {
   echo = 'The uploaded file type is not supported';
} else
   echo = 'All good!';
}

2 个答案:

答案 0 :(得分:2)

我认为您的TYPE不正确请尝试以下类型。

IMAGETYPE_TIFF_II     => 'tiff',        ###  7 = TIFF     (intel byte order)
IMAGETYPE_TIFF_MM     => 'tiff',        ###  8 = TIFF     (motorola byte order)

答案 1 :(得分:2)

您正在检查$types是否有密钥$type而不是值$type。而是使用in_array 同样代表http://www.php.net/manual/en/function.image-type-to-mime-type.php,没有IMAGETYPE_TIFF,而是IMAGETYPE_TIFF_IIIMAGETYPE_TIFF_MM

$types = array(IMAGETYPE_JPEG, IMAGETYPE_PNG, IMAGETYPE_TIFF_II, IMAGETYPE_TIFF_MM);
...
if (in_arry($type,$types)) {