<?php
//Minimisation de l´image
header ("Content-type: image/png");
$afficher="";
$x=(int) (isset($_GET[´x´]) && is_numeric($_GET[´x
´]))?$_GET[´x´]:200;
$y=(int) (isset($_GET[´y´]) && is_numeric($_GET[´y´]))?$_GET[´y´]:200;
if(!isset($_GET[´nom´]))
{
die("Erreur");
}
$nom_image=$_GET[´nom´];
if(!($fp=fopen($nom_image,"r")))
die("Erreur");
fclose($fp);
$type=explode(".",basename($nom_image));
$type=strtolower($type[1]);
switch($type)
{
case ´gif´: $source = imagecreatefromgif($nom_image);break;
case ´png´:$source = imagecreatefrompng($nom_image);break;
case ´jpg´ :case ´jpeg´: $source = imagecreatefromjpeg($nom_image);break;
default:die("Erreur");break;
}
// On crée la miniature vide
$largeur_source = imagesx($source);
$hauteur_source = imagesy($source);
//calcul de x et y idéal
//Si bonnes tailles, on affiche
if($x>$largeur_source && $y>$hauteur_source)
{
switch($type)
{
case ´gif´: imagegif($source);break;
case ´png´: imagepng($source);break;
case ´jpg´ :case ´jpeg´: imagejpeg($source);break;
default:die("Erreur");break;
}
}
else
{
//Sinon, on trouve une valeur approprie (:
if($largeur_source>$hauteur_source)
$y=1/$largeur_source*$x*$hauteur_source;
if($largeur_source<$hauteur_source)
$x=1/$hauteur_source*$y*$largeur_source;
}
$destination = imagecreatetruecolor($x,$y);
// On crée la miniature
imagecopyresampled($destination, $source, 0, 0, 0,
0, $x, $y, $largeur_source, $hauteur_source);
switch($type)
{
case ´gif´: imagegif($destination);break;
case ´png´:imagepng($destination);break;
case ´jpg´ :case ´jpeg´: imagejpeg($destination);break;
default:die("Erreur");break;
}