mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-09-02 21:41:36 +08:00
改进File类和Validate类的图像文件类型验证
This commit is contained in:
@@ -561,7 +561,7 @@ class Validate
|
||||
$result = $value instanceof \think\File;
|
||||
break;
|
||||
case 'image':
|
||||
$result = $value instanceof \think\File && in_array(exif_imagetype($value->getRealPath()), [1, 2, 3, 6]);
|
||||
$result = $value instanceof \think\File && in_array($this->getImageType($value->getRealPath()), [1, 2, 3, 6]);
|
||||
break;
|
||||
default:
|
||||
if (isset(self::$type[$rule])) {
|
||||
@@ -575,6 +575,17 @@ class Validate
|
||||
return $result;
|
||||
}
|
||||
|
||||
// 判断图像类型
|
||||
protected function getImageType($image)
|
||||
{
|
||||
if (function_exists('exif_imagetype')) {
|
||||
return exif_imagetype($image);
|
||||
} else {
|
||||
$info = getimagesize($image);
|
||||
return $info[2];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证是否为合格的域名或者IP 支持A,MX,NS,SOA,PTR,CNAME,AAAA,A6, SRV,NAPTR,TXT 或者 ANY类型
|
||||
* @access protected
|
||||
|
||||
Reference in New Issue
Block a user