2

我正在上传一个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!';
}
4

2 回答 2

2

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

IMAGETYPE_TIFF_II     => 'tiff',        ###  7 = TIFF     (intel byte order)
IMAGETYPE_TIFF_MM     => 'tiff',        ###  8 = TIFF     (motorola byte order)
于 2013-06-30T19:26:26.157 回答
2

您正在检查是否$types有 key$type而不是 value $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)) {
于 2013-06-30T19:31:23.167 回答