Manuel PHP
Précédent |  | Suivant

# getimagesize

(PHP 3, PHP 4, PHP 5)

getimagesize -- Retourne la taille d'une image

## Description

array getimagesize ( string filename [, array &imageinfo] )

getimagesize() va déterminer la taille de l'image fournie et en retourner les dimensions, le type d'image et une chaîne type `height/width` à placer dans une balise HTML <IMG> normale et le type de contenu HTTP correspondant.

getimagesize() peut également retourner plus d'informations dans la paramètre `imageinfo`.

> Note : Notez que JPC et JP2 sont capables d'avoir des composants avec une profondeur de bit différente. Dans ce cas, la valeur de "bits" est la plus grande profondeur de bit rencontrée. De même, les fichiers JP2 disposent du support de `multiple JPEG 2000 codestreams`. Dans ce cas, getimagesize() retourne les valeurs pour le premier codestream rencontré à la racine du fichier.

## Liste de paramètres

`filename`

`imageinfo`

  Ce paramètre optionnel permet d'extraire des informations supplémentaires du fichier image. Actuellement, cette option va retourner différents marqueurs JPG APP dans un tableau associatif. Certains programmes utilisent ces marqueur APP pour préciser les informations dans les balises HTML. Un marqueur commun est le marqueur APP13, décrit à http://www.iptc.org/. Vous pouvez utiliser la fonction iptcparse() pour analyser ce marqueur, et obtenir des informations intelligibles.

## Valeurs de retour

Retourne un tableau contenant 5 éléments.

L'index 0 contient la largeur. L'index 1 contient la longueur.

> Note : Certains formats peuvent ne contenir aucune image, ou bien plusieurs. Dans ces cas-là, getimagesize() peut ne pas être capable de déterminer correctement la taille de l'image. getimagesize() retourne alors zéro comme taille de hauteur et largeur.

L'index 2 est une constante parmis `IMAGETYPE_XXX`, indiquant le type de l'image.

L'index 3 contient la chaîne à placer dans les balises IMG : `height="xxx" width="yyy"`.

`mime` correspond au type MIME d'une image. Cette information peut être utilisée pour envoyer l'en-tête HTTP correct :

Exemple 1. getimagesize() et types MIME

`<?php $size = getimagesize($filename); $fp = fopen($filename, "rb"); if ($size && $fp) { header("Content-type: {$size['mime']}"); fpassthru($fp); exit; } else { // error } ?>`

`channels` sera 3 pour des images RGB et 4 pour des images CMYK. `bits` est le nombre d'octets pour chaque couleur. Cependant, la présence de ces valeurs peut mener à la confusion. Par exemple, une image GIF utilise toujours trois canaux par pixel, mais le nombre de bits par pixel ne peut être calculé dans le cas d'une image animée GIF ayant une table de couleur globale.

Si une erreur survient, `FALSE` est retourné.

## Erreurs / Exceptions

Si l'accès à `filename` est impossible ou bien si `filename` n'est pas une image valide, getimagesize() générera une erreur de niveau `E_WARNING`.

## Historique

Version | Description
--- | ---
4.3.2 | Le support de JPC, JP2, JPX, JB2, XBM, et WBMP devient disponible.
4.3.2 | Le support JPEG 2000 a été ajouté pour le paramètre `imageinfo`.
4.3.0 | `bits` et `channels` sont présents pour les autres types d'images.
4.3.0 | `mime` a été ajouté.
4.3.0 | Le support de SWC a été ajouté.
4.2.0 | Le support de TIFF a été ajouté.
4.0.5 | Le support d'URL a été ajouté.

## Exemples

Exemple 2. Exemple avec getimagesize()

`<?php list($width, $height, $type, $attr) = getimagesize("img/flag.jpg"); echo "<img src=\"img/flag.jpg\" $attr alt=\"Exemple avec getimagesize()\" />"; ?>`

Exemple 3. getimagesize() avec une URL

`<?php $size = getimagesize("http://www.example.com/gifs/logo.gif"); // Si le nom du fichier comporte des espaces, encodez-le ! $size = getimagesize("http://www.example.com/gifs/lo%20go.gif"); ?>`

Exemple 4. getimagesize() qui retourne IPTC

`<?php $size = getimagesize("testimg.jpg", $info); if (isset($info["APP13"])) { $iptc = iptcparse($info["APP13"]); var_dump($iptc); } ?>`

## Notes

> Note : La fonction getimagesize() ne requiert pas la bibliothèque GD.

## Voir aussi

image_type_to_mime_type()
exif_imagetype()
exif_read_data()
exif_thumbnail()

Précédent | Sommaire | Suivant
gd_info | Niveau supérieur | image_type_to_extension