O PHP não está limitado a criar apenas saída em HTML. Ele também pode ser usado para criar e manipular arquivos de imagem em uma diversidade de formatos, incluindo GIF, PNG, JPEG, WBMP, and XPM. E ainda mais convenientemente, o PHP pode enviar fluxos de imagem diretamente para o navegador. É necessário compilar o PHP com a biblioteca GD de funções de imagens para que isto funcione. GD e o PHP podem também requerer outras bibliotecas, dependendo de quais formatos de imagens serão trabalhados.
Pode-se usar as funções de imagem no PHP para obter o tamanho de imagens JPEG, GIF, PNG, SWF, TIFF e JPEG2000.
Com a extensão exif, pode-se trabalhar com informações armazenadas nos cabeçalhos de imagens JPEG e TIFF. Desta forma, pode-se ler metadados gerados por câmeras digitais. As funções exif não requerem a biblioteca GD.
Nota: Leia a seção de requerimentos sobre como expandir a capacidade de leitura, escrita e modificação de imagens. Para ler metadados de fotografias tiradas de uma câmera digital, é necessária a extensão exif mencionada acima.
Nota: A função getimagesize() não requqer a extensão GD.
Enquanto que a versão da biblioteca GD fornecida com o PHP usa o gerenciador de memória Zend para alocar memória, as versões de sistema não o fazem, de forma que memory_limit não se aplica.
GD suporta uma diversidade de formatos. Veja abaixo uma lista de formatos suportados por GD e notas sobre suas disponibilidades incluindo suporte a leitura/escrita.
Formato | Suporte a leitura | Suporte a escrita | Notas |
---|---|---|---|
JPEG | true |
true |
|
PNG | true |
true |
|
GIF | true |
true |
|
XBM | true |
true |
|
XPM | true |
false |
|
WBMP | true |
true |
|
WebP | true |
true |
|
BMP | true |
true |
Disponível a partir do PHP 7.2.0 |
Embora a maioria dos formatos esteja disponível para leitura e escrita na tabela acima, isto não significa que o PHP foi compilado com suporte a eles. Para descobrir quais formatos estavam disponíveis para o GD durante a compilação, use a função gd_info(). Para mais informação sobre compilação de suporte a um ou mais formantos, consulte o capítulo sobre instalação.