(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
exif_imagetype — Determine the type of an image
exif_imagetype() считывает начальные байты изображения и проверяет их сигнатуру.
exif_imagetype() может использоваться, чтобы избежать вызовов других exif-функций с неподдерживаемыми аргументами. Также при взаимодействии с $_SERVER['HTTP_ACCEPT'] можно проверять, будет ли изображение отображаться в браузере.
filename
Если корректная сигнатура обнаружена, функция вернёт соответствующую типу
изображения константу. В противном случае функция вернёт false. Возвращаемое
значение то же, что и во втором аргументе при возврате из функции
getimagesize(), однако exif_imagetype()
значительно быстрее.
Следующие определённые константы представляют возможные возвращаемые значения функции exif_imagetype():
| Значение | Константа |
|---|---|
| 1 | IMAGETYPE_GIF |
| 2 | IMAGETYPE_JPEG |
| 3 | IMAGETYPE_PNG |
| 4 | IMAGETYPE_SWF |
| 5 | IMAGETYPE_PSD |
| 6 | IMAGETYPE_BMP |
| 7 | IMAGETYPE_TIFF_II (порядок байт intel) |
| 8 |
IMAGETYPE_TIFF_MM (порядок байт motorola)
|
| 9 | IMAGETYPE_JPC |
| 10 | IMAGETYPE_JP2 |
| 11 | IMAGETYPE_JPX |
| 12 | IMAGETYPE_JB2 |
| 13 | IMAGETYPE_SWC |
| 14 | IMAGETYPE_IFF |
| 15 | IMAGETYPE_WBMP |
| 16 | IMAGETYPE_XBM |
| 17 | IMAGETYPE_ICO |
| 18 | IMAGETYPE_WEBP |
| 19 | IMAGETYPE_AVIF |
Замечание:
В случаях, когда невозможно считать количество байтов из файла достаточное для определения типа изображения, функция exif_imagetype() вызовет предупреждение уровня
E_NOTICEи вернётfalse.
| Версия | Описание |
|---|---|
| 8.1.0 | Добавлена поддержка AVIF. |
| 7.1.0 | Добавлена поддержка WebP. |
Пример #1 Пример использования exif_imagetype()
<?php
if (exif_imagetype('image.gif') != IMAGETYPE_GIF) {
echo 'Картинка не gif';
}
?>