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 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
| <html>
<body><?php
function make_miniature($img, $max_width=400, $max_height=400, $repertoire_destination='./Images/ImagePeinture/', $prefixe='mini-', $supprimer_original=false)
{
/*Fonction qui créer la mimiature d'une image.
Retourne nom complet de la miniature
Liste des paramètres :
- $img : nom complet de l'image originale
- $max_width : Largeur maximale pour la miniature
- $max_height : Hauteur maximale pour la miniature
- $repertoire_destination : Répertoire dans lequel doit être sauvegardée la miniature
- $prefixe : Préfixe donné à la miniature (Ex : "ma-photo.jpg" devient "mini-ma-photo.jpg"
- $supprimer_original : Si est égal à true on supprime l'image originale
/*Initialisations*/
echo "img=",$img,"\n";
echo "image=",$_GET['image'],"\n";
$message = '';
/*on ouvre le fichier*/
$file = fopen($img,'r');
if ($file !== false) //Le fichier existe
{
/*On recupere le nom de l'image*/
$nom = $prefixe.basename($img);
/*getimagesize() renvoie FALSE si le fichier n'est pas une image*/
if (false !== list($largeur_orig,$hauteur_orig,$extension) = getimagesize($img))
{
/*On récupère l'extension de l'image*/
$extension_img = substr(strchr($img,'.'),1);
/*On vérifie que le fichier soit bien au format jpg, gif ou png*/
if(ereg('(jpeg|jpg|gif|png)$',$extension_img))
{
switch ($extension)
{
case 1: // GIF
$type_img = imagecreatefromgif($img); break;
case 2: //JPEG
$type_img = imagecreatefromjpeg($img); break;
case 3: // PNG
$type_img = imagecreatefrompng($img); break;
}
/*On verifie la taille*/
if(($largeur_orig > $max_width) || ($hauteur_orig >
$max_height))
{
// si l'image est trop large ou trop haute
if ($largeur_orig > $hauteur_orig)
{
// image plus large que haute
$hauteur = round(($hauteur_orig * $max_width) / $largeur_orig);
$largeur = $max_width;
}
else
{
// image plus haute que large
$hauteur = $max_height;
$largeur = round(($largeur_orig * $max_height) / $hauteur_orig);
}
}
else
{
$largeur = $largeur_orig;
$hauteur = $hauteur_orig;
}
/*On crée la miniature*/
$src = imagecreatetruecolor($largeur,$hauteur);
imagecopyresized($src,$type_img,0,0,0,0,$largeur,$hauteur,$largeur_orig,$hauteur_orig);
/*On sauvegarde la miniature*/
imagejpeg($src, $repertoire_destination.$nom);
/*On libere la memoire utilisée par cette image.*/
imagedestroy($src);
/*On supprime éventuellement l'image originale*/
if ($supprimer_original === true)
unlink($img);
}
else
{
$message = 'Erreur : L\'extension de l\'image est '.$extension_img.' ! Elle devrait être JPG, JPEG, GIF ou PNG';
}
}
else
{
$message = 'Erreur : Le fichier n\'est pas une image !';
}
}
else
{
$message = 'Erreur : Le fichier n\'existe pas !';
}
return $repertoire_destination.$nom;
}
/*$imagephp="./Images/ImagePeinture/image1.jpg";
echo "image=",$imagephp,"\n";
$var=make_miniature($imagephp);
echo "var=",$var;*/
?>
<img border="0" src="make_miniature.php?image=./Images/ImagePeinture/image1.jpg">
</body>
</html> |
Partager