GeoGe Posté 19 Août 2011 Posté 19 Août 2011 (modifié) Bonjour à tous ! Je cherche un script PHP qui permette de créer une miniature d'une image donné par son URL. Je m'explique je souhaiterai un script, qui, lorsque je rentre ; script.php?url=URL_DE_L'IMAGE me transforme l'url de l'image en miniature d'une taille X renseigné dans le script ou via l'url ? Petite précision, la miniature généré ne sera pas celle de l'image du site (screenshot du site) mais bien d'une image "autonome". Merci d'avance pour vos réponses Modifié 19 Août 2011 par GeoGe
BlackPage Posté 19 Août 2011 Posté 19 Août 2011 Salut, Ci-dessous le script que j'utilise pour redimensionner une image soumise à la volée, à adapter à tes besoins... $NomLogo = $_FILES['Logo']['name']; $SizeLogo = $_FILES['Logo']['size']; $TmpLogo = $_FILES['Logo']['tmp_name']; $ErrorMsg = $_FILES['Logo']['error']; $RepCible = "images/logos_clients/"; $MaxSize = 300000; //Limite de 100Ko $MaxSizeWidth = 150; //Limite de 90 pixels de large $MaxSizeHeight = 50; //Limite de 70 pixels de haut $new_Type = "jpg"; $TailleLogo = getimagesize($NomTmpLogo); $TypeLogo = $TailleLogo[2]; $LogoCible = $RepCible . "logo" . $Client_Info["Client_ID"]; //print "Nom temporaire : $NomTmpLogo<br>"; //print "Nom cible : $LogoCible<br>"; //exit; if(!empty($NomLogo)){ if($SizeLogo <= $MaxSize){ if(move_uploaded_file($NomTmpLogo,$LogoCible)) { switch($TypeLogo){ case 1: $TypeLogo = "gif"; break; case 2: $TypeLogo = "jpg"; break; case 3: $TypeLogo = "png"; break; default: $TypeLogo = "Erreur"; break; } if($TypeLogo != "Erreur") { //On charge l'ancien logo suivant son type switch($TypeLogo){ case "gif": $oldLogo = ImageCreateFromGif($LogoCible); break; case "jpg": $oldLogo = ImageCreateFromJpeg($LogoCible); break; case "png": $oldLogo = ImageCreateFromPng($LogoCible); break; } //On détermine la taille de l'ancien logo $oldLogoWidth = $TailleLogo[0]; $oldLogoHeight = $TailleLogo[1]; if($oldLogoHeight > $oldLogoWidth){ //Hauteur du nouveau logo $newLogoHeight = $MaxSizeHeight; //On maintient le ratio de l'image $newLogoWidth = round(($newLogoHeight / $oldLogoHeight) * $oldLogoWidth); }elseif($oldLogoHeight < $oldLogoWidth){ //Largeur du nouveau logo $newLogoWidth = $MaxSizeWidth; //On maintient le ratio de l'image $newLogoHeight = round(($newLogoWidth / $oldLogoWidth) * $oldLogoHeight); }elseif($oldLogoHeight == $oldLogoWidth){ //Largeur & hauteur du nouveau logo $newLogoWidth = $MaxSizeWidth; $newLogoHeight = $MaxSizeHeight; } //Création du nouveau logo $newLogo = ImageCreateTrueColor($newLogoWidth,$newLogoHeight); //Redimentionnement de l'ancien logo dans le nouveau logo ImageCopyResampled($newLogo,$oldLogo,0,0,0,0,$newLogoWidth,$newLogoHeight,$oldLogoWidth,$oldLogoHeight); //On sauvegarde le nouveau logo en remplacant l'ancien suivant son type switch($new_Type){ case "gif": ImageGif($newLogo,$LogoCible); break; case "jpg": ImageJpeg($newLogo,$LogoCible); break; case "png": ImagePng($newLogo,$LogoCible); break; } $new_Nom = "Logo" . $Client_Info["Client_ID"] . ".".$new_Type; rename($LogoCible,$RepCible.$new_Nom); //On détruit les images temporaires ImageDestroy($newLogo); ImageDestroy($oldLogo); //Fichier Final avec chemin compplet $Final_File = $RepCible . $new_Nom; } else { //Mauvais format de Logo, avertir } } else { //Pbe upload avertir exit; } } else { //Image >300KO exit; } }} Bon courage !
GeoGe Posté 19 Août 2011 Auteur Posté 19 Août 2011 Merci pour ta réponse BlackPage. Finalement, j'ai trouvé un petit script qui me convient parfaitement Pour ceux que ça intéresse : Timthumb
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant