Introduction

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 que vous souhaitez utiliser.

Vous pouvez utiliser les fonctions PHP pour obtenir les tailles des images aux formats JPEG, GIF, PNG, SWF, TIFF et JPEG2000.

Avec l'extension exif, vous pourrez travailler avec les informations stockées dans les en-têtes des images JPEG et TIFF. De cette façon, vous pourrez 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: Lisez 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, vous devez utiliser l'extension exif mentionnée ci-dessus.

Note: La fonction getimagesize() ne nécessite pas l'extension GD.

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.

Formats supportés par GD
Format Support en lecture Support en écriture Notes
JPEG TRUE TRUE GD 1.8+
PNG TRUE TRUE  
GIF TRUE TRUE Non disponible entre les versions GD 1.6 et GD 2.0.28
XBM TRUE TRUE Support en lecture depuis PHP 4.0.1 et en écriture depuis PHP 5.0.0
XPM TRUE FALSE Support en lecture depuis PHP 4.0.1, non disponible sous Windows. Requiert la version embarquée de GD
WBMP TRUE TRUE GD 1.8+
WebP TRUE TRUE GD 2.1+, PHP 5.5+

Malgré le fait que la plupart des formats soit disponible avec un support en lecture et en écriture dans le tableau ci-dessous, cela ne signifie pas que PHP a été compilé avec le support adéquate. Pour connaître les formats supportés par GD durant la compilation, utilisez la fonction gd_info() ; pour plus d'informations sur le support lors de la compilation d'un ou plusieurs formats, reportez-vous au chapitre sur l'installation.

LoadingChargement en cours