la fonction a déja été codé c'est pour cela que j'ai mis le ; !!!
je vous passe la fonction
<?php
//Pour fonctionner, la fonction aurra besoin de plusieurs informations: l'adresse de l'image à redimensionner, la largeur et la hauteur maximale de la miniature.
function create_thumb($adresse, $Xmax, $Ymax)
{
//On commence par vérifier le type de l'image, il faut donc récupérer l'extension du fichier.
//L'extension se trouve après le point, on utilise strrchr(), qui renvoie tout ce qui se trouve à partir du point
$ext = strrchr($adresse,'.');
//Comme on a pris le point, il faut le retirer, on va donc utiliser substr(), qui va prendre tout ce qui commence après le premier caractère (le point)
$ext = substr($ext,1);
//Enfin, nous allons mettre l'extension en minuscule
$ext = strtolower($ext);
//Une fois que nous avons l'extension, nous allons vérifier qu'elle est utilisable, si elle ne l'est pas, la fonction s'arrête et retourne FALSE
if ($ext !== 'gif' AND $ext !== 'jpg' AND $ext !== 'jpeg' AND $ext !== 'png') return FALSE;
//Il faut maintenant ouvrir l'image.
if ($ext == 'gif') $res1 = imagecreatefromgif($adresse);
if ($ext == 'jpg' || $ext == 'jpeg') $res1 = imagecreatefromjpeg($adresse);
if ($ext == 'png') $res1 = imagecreatefrompng($adresse);
//Ensuite il faut récupérer la taille de l'image
$x1 = imagesx($res1);
$y1 = imagesy($res1);
//Maintenant, nous allons voir de combien il faudrait réduire l'image pour qu'elle soit en dessous du maximum permis
//On calcul donc le rapport entre le maximum et la taille de l'image. Ainsi, si l'image fait 300px de large, et que le maximum est de 100px, l'image devra être redimensionné à 1/3 (100 / 300 <:> Xmax / X)
$rx = $Xmax / $x1;
$ry = $Ymax / $y1;
//Il faut maintenant vérifier de combien il faut réduire l'image pour qu'elle ne dépasse NI en largeur, NI en hauteur.
//Ainsi, si il faut redimensionner à 1/3 en largeur, et à 1/4 en hauteur, nous mettrons l'image à 1/4, car nous souhaitons garder les proportions
//On prend donc le rapport le plus petit
$r0 = ($rx < $ry) ? $rx : $ry ;
//Ensuite, pour connaitre la taille de la miniture, il ne reste plus qu'à multplié la taille d'origine par le rapport
$x2 = $x1 * $r0;
$y2 = $y1 * $r0;
//On crée l'image qui servira à mettre la miniature, avec la largeur et la hauteur calculée jsute avant
$res2 = imagecreatetruecolor($x2,$y2);
//On redimensionne l'image originale et on colle la miniature sur la nouvelle image, pour pouvoir l'enregistrer.
imagecopyresized($res2,$res1,0,0,0,0,$x2,$y2,$x1,$y1);
//On peut retirer l'images originale de la mémoire, pour pouvoir réenregistrer la miniature à la place.
imagedestroy($res1);
//On enregistre l'image à la place de l'originale
if ($ext == 'gif') $reussi = imagegif($res2,$adresse);
if ($ext == 'jpg' || $ext == 'jpeg') $reussi = imagejpeg($res2,$adresse);
if ($ext == 'png') $reussi = imagepng($res2,$adresse);
//On peut retirer le'image de la mémoire, puisqu'elle est sauvegardée sur le disque.
imagedestroy($res2);
//On renvoie le résultat, si l'opération à réussi, $reussi vaut TRUE, sinon, il vaudra FALSE
return $reussi;
}
?>