Determine the type of an image

# exif_imagetype

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

exif_imagetype — 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:

Imagetype Constants
Value | Constant
--- | ---
1 | `IMAGETYPE_GIF`
2 | `IMAGETYPE_JPEG`
3 | `IMAGETYPE_PNG`
4 | `IMAGETYPE_SWF`
5 | `IMAGETYPE_PSD`
6 | `IMAGETYPE_BMP`
7 | `IMAGETYPE_TIFF_II` (intel byte order)
8 | `IMAGETYPE_TIFF_MM` (motorola byte order)
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`

> 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

Version | Description
--- | ---
7.1.0 | Added WebP support.
8.1.0 | Added AVIF support.

### Examples

Example #1 exif_imagetype() example

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

### See Also

- image_type_to_mime_type() - Get Mime-Type for image-type returned by getimagesize, exif_read_data, exif_thumbnail, exif_imagetype
- getimagesize() - Get the size of an image

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open