(PHP 4 >= 4.3.0, PHP 5, PHP 7)
exif_imagetype — Determine the type of an image
$filename
    )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.
filename
    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.
   
Note:
exif_imagetype() will emit an
E_NOTICEand returnFALSEif it is unable to read enough bytes from the file to determine the image type.
| Version | Description | 
|---|---|
| 5.3.0 | Added icon support. | 
The following constants are defined, and represent possible exif_imagetype() return values:
| 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 | 
Example #1 exif_imagetype() example
<?php
if (exif_imagetype('image.gif') != IMAGETYPE_GIF) {
    echo 'The picture is not a gif';
}
?>