gd_info
<<<
getimagesize image_type_to_extension
>>>

6.14 Images
6 Référence des fonctions
 Manuel PHP

Introduction
Pré-requis
Installation
Configuration à l'exécution
Types de ressources
Constantes pré-définies
Exemples
gd_info
->getimagesize
image_type_to_extension
image_type_to_mime_type
image2wbmp
imagealphablending
imageantialias
imagearc
imagechar
imagecharup
imagecolorallocate
imagecolorallocatealpha
imagecolorat
imagecolorclosest
imagecolorclosestalpha
imagecolorclosesthwb
imagecolordeallocate
imagecolorexact
imagecolorexactalpha
imagecolormatch
imagecolorresolve
imagecolorresolvealpha
imagecolorset
imagecolorsforindex
imagecolorstotal
imagecolortransparent
imageconvolution
imagecopy
imagecopymerge
imagecopymergegray
imagecopyresampled
imagecopyresized
imagecreate
imagecreatefromgd
imagecreatefromgd2
imagecreatefromgd2part
imagecreatefromgif
imagecreatefromjpeg
imagecreatefrompng
imagecreatefromstring
imagecreatefromwbmp
imagecreatefromxbm
imagecreatefromxpm
imagecreatetruecolor
imagedashedline
imagedestroy
imageellipse
imagefill
imagefilledarc
imagefilledellipse
imagefilledpolygon
imagefilledrectangle
imagefilltoborder
imagefilter
imagefontheight
imagefontwidth
imageftbbox
imagefttext
imagegammacorrect
imagegd
imagegd2
imagegif
imageinterlace
imageistruecolor
imagejpeg
imagelayereffect
imageline
imageloadfont
imagepalettecopy
imagepng
imagepolygon
imagepsbbox
imagepscopyfont
imagepsencodefont
imagepsextendfont
imagepsfreefont
imagepsloadfont
imagepsslantfont
imagepstext
imagerectangle
imagerotate
imagesavealpha
imagesetbrush
imagesetpixel
imagesetstyle
imagesetthickness
imagesettile
imagestring
imagestringup
imagesx
imagesy
imagetruecolortopalette
imagettfbbox
imagettftext
imagetypes
imagewbmp
imagexbm
iptcembed
iptcparse
jpeg2wbmp
png2wbmp

6.14.9 getimagesize()Retourne la taille d'une image

[ Exemples avec getimagesize ]   PHP 3, PHP 4, PHP 5

array  getimagesize ( string   filename , array   imageinfo )

getimagesize va déterminer la taille des images de type GIF , JPG , PNG , SWF , SWC , PSD , TIFF , BMP , IFF , JP2 , JPX , JB2 , JPC , XBM , or WBMP et en retourner les dimensions, le type d'image et une chaîne type height/width à placer dans une balise HTML IMG normale.

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

Note

Le support de JPC , JP2 , JPX , JB2 , XBM et WBMP a été ajouté en PHP 4.3.2. Le support de SWC , lui, en PHP 4.3.0 et le support de TIFF en PHP 4.2.0.

Note

Le support de JPEG 2000 a été ajouté en PHP 4.3.2. 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.

Note

La fonction getimagesize ne requiert pas la bibliothèque GD.

getimagesize retourne un tableau de 4 éléments. L'index 0 contient la largeur. L'index 1 contient la longueur. L'index 2 contient le type de l'image : 1 = GIF , 2 = JPG , 3 = PNG , 4 = SWF , 5 = PSD , 6 = BMP , 7 = TIFF (Ordre des octets Intel), 8 = TIFF (Ordre des octets Motorola), 9 = JPC , 10 = JP2 , 11 = JPX , 12 = JB2 , 13 = SWC , 14 = IFF . Ces valeurs correspondent aux constantes IMAGETYPE qui ont été ajoutées en PHP 4.3. L'index 3 contient la chaîne à placer dans les balises IMG : height="xxx" width="yyy" .
Exemple avec getimagesize

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

Le support des URL a été ajouté en PHP 4.0.5.
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");
?>

Avec les images JPG , deux en-têtes supplémentaires sont retournés : channels et bits . channels vaudra 3 avec les images RGB, et 4 avec les images CMYK. bits est le nombre de bits pour chaque couleur.

Depuis PHP 4.3, bits et channels sont présents pour tous types d'images. 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.

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.

Depuis PHP 4.3, getimagesize retourne aussi un paramètre additionnel, mime , qui correspond au type MIME d'une image. Cette information peut être utilisée pour envoyer l'en-tête HTTP correct.
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
}
?>

Le paramètre optionnel imageinfo 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.
getimagesize qui retourne IPTC

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

Voir aussi image_type_to_mime_type , exif_imagetype , exif_read_data et exif_thumbnail .

<< getimagesize >>
gd_info Images image_type_to_extension