PHP ne se limite pas à la génération de pages HTML. Il peut aussi servir à créer et manipuler des images, dans un grand choix de formats, comme GIF, PNG, JPEG, WBMP et XPM. Et PHP peut même générer directement des images pour le navigateur, avec la bibliothèque GD. GD et PHP auront aussi besoin d'autres bibliothèques, en fonction des formats souhaités utiliser.
Il est possible d'utiliser les fonctions PHP pour obtenir les tailles des images aux formats JPEG, GIF, PNG, SWF, TIFF et JPEG2000.
Avec l'extension exif, il sera possible de travailler avec les informations stockées dans les en-têtes des images JPEG et TIFF. De cette façon, il sera possible de lire les métadonnées générées par les appareils numériques. Les fonctions exif ne nécessitent pas la bibliothèque GD.
Note: Se reporter à la section sur les besoins pour savoir comment étendre les capacités des fonctions sur les images pour lire, écrire et modifier les images. Pour lire les métadonnées des photos prises avec des appareils numériques, il faut utiliser l'extension exif mentionnée ci-dessus.
Note: La fonction getimagesize() ne nécessite pas l'extension GD.
Tandis que la version empaquetée de la bibliothèque GD utilise le gestionnaire de mémoire Zend pour allouer de la mémoire, les versions système ne le font pas, donc memory_limit ne s'applique pas.
GD supporte un grand nombre de formats ; voici une liste de formats supportés par GD ainsi que des notes spécifiant la disponibilité du support en lecture/écriture.
| Format | Support en lecture | Support en écriture | Notes |
|---|---|---|---|
| JPEG | true |
true |
|
| PNG | true |
true |
|
| GIF | true |
true |
|
| XBM | true |
true |
|
| XPM | true |
false |
|
| WBMP | true |
true |
|
| WebP | true |
true |
|
| BMP | true |
true |
Disponible à partir de PHP 7.2.0 |
Malgré le fait que la plupart des formats soient disponibles avec un support en lecture et en écriture dans le tableau ci-dessus, cela ne signifie pas que PHP a été compilé avec le support adéquat. Pour connaître les formats supportés par GD durant la compilation, il est possible d'utiliser la fonction gd_info() ; pour plus d'informations sur le support lors de la compilation d'un ou plusieurs formats, se reporter au chapitre sur l'installation.