Uma função extremamente útil do PHP é a getimagesize, que retorna o tamanho das imagens (width e height) em pixels. Porém, além do tamanho, ela também irá retornar uma informação muito útil para quem deseja validar ou precisa saber o MIME Type do arquivo.

O MIME Type irá indicar exatamente qual o formato daquele arquivo para que o software que estiver tentando exibi-lo saiba renderizar seu conteúdo corretamente.

Utilizamos a função getimagesize em nossa classe “TPEpubCreator” (que cria e-books no formato EPUB com PHP) para gerar os arquivos de conteúdo do livro, saiba mais em:

Mas deixando de conversa, vamos ao que realmente interessa.

Observação: Existem outras funções para este fim, mas estou passando getimagesize porque acho ela mais útil e simples neste momento.

MIME Type de imagens em PHP

Veja como é simples:

<?php
// Especifique o caminho da imagem
$imagem = getimagesize( 'imagem.jpg' );

// Obtenha o mimetype
echo $imagem['mime']; // image/jpeg
?>

Simplesmente especifique o caminho da imagem para a função getimagesize e acesse a chave “mime” do array gerado.

Por falar em array, veja como ver tudo o que é retornado pela função:

<?php
// Especifique o caminho da imagem
$imagem = getimagesize( 'imagem.jpg' );

// Ver tudo sobre o array retornado
echo '<pre>';
print_r( $imagem );
echo '</pre>';
?>

Com isso você verá o seguinte:

Array
(
    [0] => 150
    [1] => 150
    [2] => 2
    [3] => width="150" height="150"
    [bits] => 8
    [channels] => 3
    [mime] => image/jpeg
)

Vou descrever o conteúdo do array:

  • O índice 0 (zero) contém a largura da imagem em pixels;
  • O índice 1 (um) contém a altura;
  • O índice 2 (dois) é uma indicação do tipo de imagem: 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF(intel byte order), 8 = TIFF(motorola byte order), 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF, 15 = WBMP, 16 = XBM. Estes valores correspondem as constantes IMAGETYPE que foram adicionadas no PHP 4.3.
  • O índice 3 é uma string com o height=”yyy” width=”xxx” correto que pode ser usado diretamente numa tag IMG;
  • Também temos o índice “bits”, que é o número de bits para cada cor;
  • O índice “channels”, que será 3 para imagens RGB e 4 para imagens CMYK;
  • E por fim, o índice “mime”, que corresponde ao tipo MIME (MIME Type) da imagem.

Essa função é tão interessante, que você pode obter valores até mesmo de imagens remotas, como por exemplo:

<?php
$imagem = getimagesize( 'https://www.todoespacoonline.com/w/wp-content/uploads/2014/09/wordpress-logo1-150x150.jpg' );
echo $imagem['mime']; // image/jpeg
?>

Ajuda bastante.

Caso tenha alguma dúvida, sugestão ou crítica, basta comentar aí abaixo.

Até o próximo tutorial.