0/5 (7 avis)
Snippet vu 9 348 fois - Téléchargée 34 fois
<?php /////////////////////////////////////////////// // avec une largeur de 120, la syntaxe sera // // mini.php?img=image.jpg&size=120 // // ou // // mini.php?img=image.jpeg&size=120 // /////////////////////////////////////////////// if(isset($_GET['img'])) { $img=$_GET['img']; if(is_file('./'.$img) && ereg(".jp[e]?g$", $img) && !ereg("[\.]{2}/\\", $img) && !ereg("://", $img)) { // Vérifications: le fichier existe, l'extension est jpg ou jpeg, pas de retour aiu dossier parent, uniquement des liens local. if(isset($_GET['size']) && ereg("^[0-9]{2,}$", $_GET['size'])) { // Validation de la taille, défini et numérique supérieure à 2 chiffres $cadre=$_GET['size']; } else { $cadre=120; // sinon, initialise la taille à 120. } // Entete de l'image header("Content-type: image/jpeg"); // ouverture de l'image d'origine. $img_big = imagecreatefromjpeg($img); // récupération de l'image d'origine $size = getimagesize($img); $w1=$w0=$size[0]; $h1=$h0=$size[1]; if($cadre!=0 && $w1>$cadre) { $w0=$cadre; $h0=round($h1/($w1/$cadre)); } if($cadre!=0 && $h1>$cadre) { $h0=$cadre; $w0=round($w1/($h1/$cadre)); } $img_x=$w0; $img_y=$h0; // création de la miniature $img_mini = @imagecreatetruecolor($img_x, $img_y) or $img_mini = imagecreate($img_x, $img_y); // copie de l'image, avec le redimensionnement. imagecopyresized($img_mini,$img_big,0,0,0,0,$img_x,$img_y,$size[0],$size[1]); //on envoie l'image reduire au navigateur: imagejpeg($img_mini); } } ?>
24 nov. 2005 à 00:36
22 nov. 2005 à 16:08
@+
FlashFun
toujours_zen@hotmail.com
22 nov. 2005 à 01:47
merci
31 août 2004 à 19:01
26 août 2004 à 14:43
Mais sinon l'idée est bien je trouve
Pour la taille je n'ajoute pas de bandes noires, je redimensionne l'image à la largeur souhaitée par exemple (tout en gardant les proportions), puis je copie la partie de l'image correspondant à la taille de la miniature. =)
J'explique peut etre pas très bien lol donc si tu veux voir, ma source est en ligne
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.