Como obter a largura e altura de uma imagem em PHP
Neste tutorial vamos mostrar como obter a largura e altura de uma imagem qualquer utilizando a linguagem de programação PHP. Este recurso é muito útil para manipulação e validação das dimensões de uma imagem. Para realizarmos estes recursos vamos precisar do comando getimagesize() que é uma função da biblioteca GD do PHP.
Obs. 1: A função getimagesize() retorna o tamanho de uma imagem com as extensões: GIF, JPG, PNG, SWF, SWC, PSD, TIFF, BMP, IFF, JP2, JPX, JB2, JPC, XBM, ou WBMP.
Biblioteca GD: O GD é um poderoso plugin do PHP desenvolvido para o processamento de imagens. Esta biblioteca já vem inserida no PHP 5.0 ou superior. Veja todos os comandos no link: Biblioteca GD
Exemplo 1 - Obter dimensões e visualizar uma imagem
1. Para obtermos as dimensões (largura - width) e (altura - height) de uma imagem, vamos utilizar a função getimagesize() da biblioteca GD.
getimagesize() é uma função da biblioteca GD que retorna uma variável composta (array) com 4 índices, sendo: [0] Largura da imagem, [1] Altura da imagem, [2] Tipo do arquivo de imagem, [3] atributos width e height da imagem.
2. Como vimos, o getimagesize() é um array e para obtermos os índices deste array utilizamos a função list(). A função list() irá criar uma lista de variáveis, $largura_original e $altura_original, obtidas diretamente do getimagesize(), índices 0 e 1.
3. Veja abaixo o nosso exemplo 1 onde podemos entender melhor os conceitos apresentados acima:
Para visualizar o exemplo no navegador clique no link visualdicas exemplos 01: Veja o resultado do nosso exemplo:
Exemplo 2 - Validar tamanho da imagem
1. Para obtermos o controle do tamanho das imagens que o usuário esta tentando enviar para o site ou um sistema que estamos desenvolvendo, podemos validar o tamanho dessa imagem obtendo-se a largura e a altura para a validação. Veja o exemplo abaixo onde utilizamos o mesmo conceito do exemplo anterior:
Para visualizar o exemplo no navegador clique no link visualdicas exemplos 02: Veja o resultado do nosso exemplo:
Exemplo 3 - Mostrando todos os índices da função "getimagesize()"
1. Neste exemplo vamos mostrar elementos do "getimagesize()" obtidos a partir de um arquivo de imagem GIF, JPG, PNG, SWF, SWC, PSD, TIFF, BMP, IFF, JP2, JPX, JB2, JPC, XBM, ou WBMP, onde:
[0] Largura da imagem, [1] Altura da imagem, [2] Tipo do arquivo de imagem, [3] atributos width e height da imagem.
2. Portanto, a função "getimagesize() retorna uma matriz com 4 elementos: O índice 0 contém a largura da imagem em pixels. O índice 1 contém a altura em pixels. O índice 2 é 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.
Veja abaixo o código do nosso exemplo:
Para visualizar o exemplo no navegador clique no link visualdicas exemplos 03: Veja o resultado do nosso exemplo:
Documentação Oficial
1. [Documentação PHP - função getimagesize()] » Sobre a função da GD "getimagesize()".