Articles
This document is also available in English
getimagesize() retourne, entres autres, la taille et le type d'une image. Cette fonction est très utilisée aussi pour determiner si la chaine passée en paramètre représente une image ou non, notamment après un upload. Elle est aussi souvent associée à toutes les fonctions GD. Exemple 1 - Sécurité : determiner s'il s'agit d'une image ou non
<?php
if (is_uploaded_file($_FILES['myFile']['tmp_name'])){
if (!getimagesize($_FILES['myFile']['tmp_name'])){
"fichier image recquis";
}
}
?>
la fonction getimagesize() retourne aussi des tags directement utilisables en HTML, très pratique :
Exemple 2 - Upload d'un fichier et placement dans un dossier temporaire précis :
<?php function html_image($image, $alignment = 'absmiddle') { $desc = @getimagesize($image); return( '<IMG SRC="'.$image.'" '.$desc[3].' BORDER="0" ALIGN="'.$alignment.'">' ); // $desc[3] contient 'height="xxx" width="yyy"' } ?><strong> </strong>
getimagesize() gère les formats GIF, JPG, PNG, SWF, PSD, BMP, TIFF(intel byte order), TIFF(motorola byte order), JPC, JP2, JPX, JB2, SWC, IFF, WBMP, XBM. On peut donc s'en servir pour vérifier le type d'une image, quelque soit l'extension donnée au fichier, et un index retourne le type mime, qu'on peut envoyer au navigateur :
Exemple 3 - Envoi d'une image vers le navigateur, avec le bon en-tête HTTP :
<?php $size = getimagesize($filename); $fp = fopen($filename, "rb"); if ($size && $fp) { header("Content-type: {$size['mime']}"); fpassthru($fp); exit; } ?><strong> </strong>
A mémoriser
- getimagesize() retourne FALSE si le fichier n'est pas une image de type connu, et génèrera en plus une erreur, si le fichier n'est pas accessible.
- getimagesize() ne requiert pas la présence de la librairie GD
- getimagesize() prend en paramètre un nom de fichier sous forme de chaine de caractères( local relatif ou absolu, ou URL) et non pas une ressource GD
| < Précédent | Suivant > |
|---|
Commentaires
Vous pouvez ajouter votre commentaire! |
Vous devez vous connecter pour commenter


