php - 如何检查上传的文件是否是受支持的文件

标签 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!';
}

最佳答案

您正在检查 $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)) {

关于php - 如何检查上传的文件是否是受支持的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17394017/

相关文章:

javascript - 使用 AngularJS $Resource 在 MySQL 中添加和删除数据

php - MySQL 列值到数组。结果是错误的值

php - 将函数的结果分配给 PHP 类中的变量?面向对象的怪异

php - 在 XSLT 中进行文件路径操作

c# - 以编程方式将一组图像连接在一起以形成背景

php - php getimagesize 出现问题(url 编码存在空格问题)

php - getimagesize 适用于某些图像而不适用于其他图像

css - 使用 CSS 剪影 PNG 图像

php - 创建动态 PNG 图像

javascript - 在图像上使用 max-width = 100% 和 max-height = 100%,计算显示宽度/高度