php8.5
Home/ Manual/ exif / functions/ exif_imagetype

exif_imagetype

PHP function Edit on GitHub ✎

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

Determine the type of an image

Description

exif_imagetype(string $filename): int|false

exif_imagetype() reads the first bytes of an image and checks its signature.

exif_imagetype() can be used to avoid calls to other exif functions with unsupported file types or in conjunction with $_SERVER['HTTP_ACCEPT'] to check whether or not the viewer is able to see a specific image in the browser.

Parameters

filename

The image being checked.

Return Values

When a correct signature is found, the appropriate constant value will be returned otherwise the return value is false. The return value is the same value that getimagesize() returns in index 2 but exif_imagetype() is much faster.

The following constants are defined, and represent possible exif_imagetype() return values:

ValueConstant
1IMAGETYPE_GIF
2IMAGETYPE_JPEG
3IMAGETYPE_PNG
4IMAGETYPE_SWF
5IMAGETYPE_PSD
6IMAGETYPE_BMP
7IMAGETYPE_TIFF_II (intel byte order)
8IMAGETYPE_TIFF_MM (motorola byte order)
9IMAGETYPE_JPC
10IMAGETYPE_JP2
11IMAGETYPE_JPX
12IMAGETYPE_JB2
13IMAGETYPE_SWC
14IMAGETYPE_IFF
15IMAGETYPE_WBMP
16IMAGETYPE_XBM
17IMAGETYPE_ICO
18IMAGETYPE_WEBP
19IMAGETYPE_AVIF
20IMAGETYPE_HEIF
Note

exif_imagetype() will emit an E_NOTICE and return false if it is unable to read enough bytes from the file to determine the image type.

Changelog

VersionDescription
7.1.0Added WebP support.
8.1.0Added AVIF support.
8.5.0Added HEIF support.

Examples

exif_imagetype() example

php
<?php
if (exif_imagetype('image.gif') != IMAGETYPE_GIF) {
    echo 'The picture is not a gif';
}
?>

See Also

Source: reference/exif/functions/exif-imagetype.xml · from the official PHP manual (php/doc-en)