(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
exif_imagetype — Determinar el tipo de una imagen
exif_imagetype() lee los primeros bytes de una imagen y verifica su firma.
exif_imagetype() puede usarse para evitar llamadas a otras funciones exif con tipos de fichero no soportados o en conjunto con $_SERVER['HTTP_ACCEPT'] para verificar si el visor es capaz de mostrar una imagen específica en el navegador.
filenameLa imagen que se está verificando.
Cuando se encuentra una firma correcta, se devolverá el valor constante
apropiado; de lo contrario, se devolverá false. El valor devuelto es el
mismo que el que devuelve getimagesize() en el índice 2,
pero exif_imagetype() es mucho más rápido.
Se definen las siguientes constantes, que representan los posibles valores de retorno de exif_imagetype():
| Valor | Constante |
|---|---|
| 1 | IMAGETYPE_GIF |
| 2 | IMAGETYPE_JPEG |
| 3 | IMAGETYPE_PNG |
| 4 | IMAGETYPE_SWF |
| 5 | IMAGETYPE_PSD |
| 6 | IMAGETYPE_BMP |
| 7 | IMAGETYPE_TIFF_II (orden de bytes Intel) |
| 8 |
IMAGETYPE_TIFF_MM (orden de bytes 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 |
| 20 | IMAGETYPE_HEIF |
Nota:
exif_imagetype() emitirá una
E_NOTICEy devolveráfalsesi no puede leer suficientes bytes del fichero para determinar el tipo de imagen.
| Versión | Descripción |
|---|---|
| 7.1.0 | Se añadió soporte para WebP. |
| 8.1.0 | Se añadió soporte para AVIF. |
| 8.5.0 | Se añadió soporte para HEIF. |
Ejemplo #1 Ejemplo de exif_imagetype()
<?php
if (exif_imagetype('image.gif') != IMAGETYPE_GIF) {
echo 'La imagen no es un gif';
}
?>