PHP判断文件是否为图片
判断文件是不是图片,别信扩展名。改个后缀谁都会,得看文件内容。
最常用的一招是 getimagesize(),能读出宽高就说明是图片,读不出来返回 false。
<?php
$file = 'test.jpg';
$info = @getimagesize($file); // 加@屏蔽警告
if ($info !== false) {
echo '是图片,宽'.$info[0].' 高'.$info[1];
echo '类型:'.$info['mime']; // image/jpeg
} else {
echo '不是图片';
}
想更严格点,用 exif_imagetype() 直接返回类型常量,或者用 mime_content_type() 读真实 MIME。
$mime = mime_content_type($file);
if (strpos($mime, 'image/') === 0) {
echo '图片';
}
上传场景里 getimagesize 基本够用,记得再配上 is_uploaded_file 和文件大小限制。
说点什么 0