exif_imagetype

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

exif_imagetype判断一个图像的类型

说明

exif_imagetype(string$filename): int|false

exif_imagetype() 读取一个图像的第一个字节并检查其签名。

本函数可用来避免调用其它 exif 函数用到了不支持的文件类型上或和 $_SERVER['HTTP_ACCEPT'] 结合使用来检查浏览器是否可以显示某个指定的图像。

参数

filename
被检查的图像文件名。

返回值

如果发现了恰当的签名则返回一个对应的常量,否则返回 false。返回值和 getimagesize() 返回的数组中的索引 2 的值是一样的,但本函数快得多。

定义有以下常量,并代表了 exif_imagetype() 可能的返回值:

图像类型常量
常量
1IMAGETYPE_GIF
2IMAGETYPE_JPEG
3IMAGETYPE_PNG
4IMAGETYPE_SWF
5IMAGETYPE_PSD
6IMAGETYPE_BMP
7IMAGETYPE_TIFF_II(小端字节顺序)
8IMAGETYPE_TIFF_MM(大端字节顺序)
9IMAGETYPE_JPC
10IMAGETYPE_JP2
11IMAGETYPE_JPX
12IMAGETYPE_JB2
13IMAGETYPE_SWC
14IMAGETYPE_IFF
15IMAGETYPE_WBMP
16IMAGETYPE_XBM
17IMAGETYPE_ICO
18IMAGETYPE_WEBP
19IMAGETYPE_AVIF

注意:

如果无法从文件中读取足够的字节来确定图像类型,exif_imagetype() 将发出 E_NOTICE 并返回 false

更新日志

版本说明
7.1.0 新增 WebP 支持。
8.1.0 新增 AVIF 支持。

示例

示例 #1 exif_imagetype() 示例

<?php

if (exif_imagetype("image.gif") != IMAGETYPE_GIF) {
echo
"The picture is not a gif";
}

?>

参见

To Top