<form method="post" action="image.php" enctype="multipart/form-data"> </form> <?php if(file_exists('images')){ }else{ mkdir('images'); } if(file_exists('images/min')){ }else{ mkdir('images/min'); } //partie de recuperation de l'image: if(!empty($_FILES['img'])){ echo ''; print_r($_FILES['img']); echo ' '; // pas de vide require("imgClass.php"); //imgclass contient la fonction creerMin qui permet de creer une miniature de l'image uploadé $img=$_FILES['img']; $ext= strtolower(substr($img['name'],-3));//afficher l'extention $allow_ext = array('jpg','png','gif');//autorisation des extention jpg,png,gif if(in_array($ext, $allow_ext)){ move_uploaded_file($img['tmp_name'],'images/'.$img['name']); //deplacement du fichier dans un dossier "images" Img::creerMin('images/'.$img['name'],'images/min',$img['name'],200,100); }else{ $erreur ="votre fichier n'est pas une image"; } } if(isset($erreur)){ echo $erreur; }else{ } //afficher les differente miniature du dossier min $dos = "images/min"; //$dos = "images"; if($dir=opendir($dos)){ while($file = readdir($dir)){ //parcourir lensemble des fichier du dossier $allow_ext = array('jpg','png','gif'); $ext= strtolower(substr ($file,-3)); if(in_array($ext, $allow_ext)){ echo ' '; }else{ //rien } } }else{ //empty dir } ?>
<form method="post" action="image.php" enctype="multipart/form-data"> </form> <?php class Image{ public static $useGD = true; // On utilise la librairie GD ? public static $quality = 90; /** * Permet de redimensionner/cropper une image * @param $img String Chemin absolu de l'image d'origine * @param $dest String Chemin absolu de l'image générée (.jpg) * @param $largeur Int Largeur de l'image générée, si 0 cette valeur sera calculé en fonction de la hauteur * @param $hauteur Int Hauteur de l'image générée, si 0 cette valeur sera calculé en fonction de la largeur * Si largeur et hauteur = 0 l'image gardera son format d'origine mais sera convertie en JPG **/ public static function resize($img,$dest,$largeur=0,$hauteur=0){ // On récupère les dimensions de l'image $dimension=getimagesize($img); $ratio = $dimension[0] / $dimension[1]; // Et son ratio // On trouve les dimension finale // (si on a passé 0 en paramètre c'est que l'on veut que le paramètre s'adapte pour conserver le ratio) if($largeur==0 && $hauteur==0){ $largeur = $dimension[0]; $hauteur = $dimension[1]; } else if($hauteur==0){ $hauteur = round($largeur / $ratio); } else if($largeur==0){ $largeur = round($hauteur * $ratio); } // Si on doit "cropper" l'image on cherche de cb de px on doit décaler l'image miniatures pour la centrer if($dimension[0]>($largeur/$hauteur)*$dimension[1] ){ $dimY=$hauteur; $dimX=round($hauteur*$dimension[0]/$dimension[1]); $decalX=($dimX-$largeur)/2; $decalY=0;} if($dimension[0]<($largeur/$hauteur)*$dimension[1]){ $dimX=$largeur; $dimY=round($largeur*$dimension[1]/$dimension[0]); $decalY=($dimY-$hauteur)/2; $decalX=0;} if($dimension[0]==($largeur/$hauteur)*$dimension[1]){ $dimX=$largeur; $dimY=$hauteur; $decalX=0; $decalY=0;} // On crée l'image avec la librairie GD if(self::$useGD){ $miniature =imagecreatetruecolor ($largeur,$hauteur); if(substr($img,-4)==".jpg" || substr($img,-4)==".JPG"){$image = imagecreatefromjpeg($img); } if(substr($img,-4)==".png" || substr($img,-4)==".PNG"){$image = imagecreatefrompng($img); } if(substr($img,-4)==".gif" || substr($img,-4)==".GIF"){$image = imagecreatefromgif($img); } imagecopyresampled($miniature,$image,-$decalX,-$decalY,0,0,$dimX,$dimY,$dimension[0],$dimension[1]); imagejpeg($miniature,$dest,self::$quality); return true; // Ou on utilise imagemagick }else{ $cmd = '/usr/bin/convert -resize '.$dimX.'x'.$dimY.' "'.$img.'" "'.$dest.'"'; shell_exec($cmd); $cmd = '/usr/bin/convert -gravity Center -quality '.self::$quality.' -crop '.$largeur.'x'.$hauteur.'+0+0 -page '.$largeur.'x'.$hauteur.' "'.$dest.'" "'.$dest.'"'; shell_exec($cmd); } return true; } } if(file_exists('images')){ }else{ mkdir('images'); } if(file_exists('images/min')){ }else{ mkdir('images/min'); } //partie de recuperation de l'image: if(!empty($_FILES['img'])){ echo ''; print_r($_FILES['img']); echo ' '; // pas de vide //require("imgClass.php"); //imgclass contient la fonction creerMin qui permet de creer une miniature de l'image uploadé $img=$_FILES['img']; $ext= strtolower(substr($img['name'],-3));//afficher l'extention $allow_ext = array('jpg','png','gif');//autorisation des extention jpg,png,gif if(in_array($ext, $allow_ext)){ move_uploaded_file($img['tmp_name'],'images/'.$img['name']); //deplacement du fichier dans un dossier "images" //Image::creerMin('images/'.$img['name'],'images/min',$img['name'],200,100); Image::resize('images/'.$img['name'],'images/min/'.$img['name'],360,240); //resize($img,$dest,$largeur=0,$hauteur=0){ }else{ $erreur ="votre fichier n'est pas une image"; } } if(isset($erreur)){ echo $erreur; }else{ } //afficher les differente miniature du dossier min $dos = "images/min"; //$dos = "images"; if($dir=opendir($dos)){ while($file = readdir($dir)){ //parcourir lensemble des fichier du dossier $allow_ext = array('jpg','png','gif'); $ext= strtolower(substr ($file,-3)); if(in_array($ext, $allow_ext)){ echo '<hr>'; }else{ //rien } } }else{ //empty dir } ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question