1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
| <?
$img_src_chemin = "/";
$img_dst_chemin = "thumbs/";
// Déterminer l'extension à partir du nom de fichier
$extension = substr( $img_src_chemin, -3 );
// Afin de simplifier les comparaisons, on met tout en minuscule
$extension = strtolower( $extension );
switch ( $extension ) {
case "jpg":
case "peg": //pour le cas où l'extension est "jpeg"
$img_src_resource = imagecreatefromjpeg( $img_src_chemin );
break;
case "JPG":
case "PEG": //pour le cas où l'extension est "jpeg"
$img_src_resource = imagecreatefromjpeg( $img_src_chemin );
break;
case "gif":
$img_src_resource = imagecreatefromgif( $img_src_chemin );
break;
case "png":
$img_src_resource = imagecreatefrompng( $img_src_chemin );
break;
// On peut également ouvrir les formats wbmp, xbm et xpm (vérifier la configuration du serveur)
default:
echo "L'image n'est pas dans un format reconnu. Extensions autorisées : jpeg, gif, png";
break;
}
//Pour créer une image de destination de 100 pixels de large sur 200 de haut
$img_dst_resource = imagecreatetruecolor( 100, 200 );
// Exemple avec imagesx() et imagesy()
$img_src_width = imagesx( $img_src_resource );
$img_src_height = imagesy( $img_src_resource );
// Exemple avec getimagesize()
// getimagesize renvoie un tableau
// Ce tableau contient la largeur, la hauteur, un entier représentant le type d'image, et
// une chaîne width/height pouvant être insérée dans une balise img.
// Je vous laisse lire la documentation pour les détails techniques
list( $img_src_width, $img_src_height ) = getimagesize($img_src_chemin);
// Vérifions tout d'abord que nous pouvons enregistrer le fichier
$handle = fopen( $img_dst_chemin, "w" );
if ( !$handle ) {
echo "Impossible d'écrire l'image. Vérifiez le chemin, et les droits du serveur.";
exit;
}
fclose( $handle );
// Pour enregistrer au format jpg
imagejpeg( $img_dst_resource, $img_dst_chemin );
// Un troisième argument est disponible, le niveau de compression
// S'il n'est pas fourni la valeur 75 est utilisée
// Pour enregistrer au format png
imagepng( $img_dst_resource, $img_dst_chemin );
// Pour enregistrer au format gif
imagegif( $img_dst_resource, $img_dst_chemin );
// Pour enregistrer au format wbmp
imagewbmp( $img_dst_resource, $img_dst_chemin );
?> |
Partager