(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
exif_imagetype — Verifica o tipo de uma imagem
exif_imagetype() lê os primeiros bytes de uma imagem e verifica sua assinatura.
exif_imagetype() pode ser usada para evitar chamadas a outras funções exif que não têm suporte a certos tipos de arquivos ou um conjunção com $_SERVER['HTTP_ACCEPT'] para verificar se o visualizador é capaz de mostrar uma imagem específica no navegador.
filename
Quando uma assinatura correta é encontrada, o valor da constante associada será
retornado, caso contrário o valor de retorno será false. O valor retornado é o
mesmo valor que getimagesize() retorna no índice 2, mas
exif_imagetype() é bem mais rápida.
As seguintes constantes estão definidas, e representam os possíveis 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 (ordem de bytes Intel) |
| 8 |
IMAGETYPE_TIFF_MM (ordem 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 |
Nota:
exif_imagetype() emitirá um erro de nível
E_NOTICEe retornaráfalsese for incapaz de ler bytes suficientes do arquivo para determinar o tipo da imagem.
| Versão | Descrição |
|---|---|
| 7.1.0 | Adicionado suporte a WebP. |
| 8.1.0 | Adicionado suporte a AVIF. |
Exemplo #1 Exemplo de exif_imagetype()
<?php
if (exif_imagetype('image.gif') != IMAGETYPE_GIF) {
echo 'A imagem não é do tipo gif';
}
?>