Upload & Resize
$upload = (isset($_FILES['upload'])) ? $_FILES['upload'] : "" ; //$upload --> input type file $rep_dest = './ImportImage/'; //$rep_dest --> rep final $taille_octets_max = 512000; //$taille_octets_max --> 1024000;; // 1000Ko = 1000 x 1024 $long_max = 300; //$long_max --> 300 (px) $quality =100; //$quality --> 100% upLoad($upload,$rep_dest,$taille_octets_max,$long_max,$quality); function upLoad($upload,$rep_dest,$taille_octets_max,$long_max,$quality){ if($upload) { $error = ""; //nom de l'image $nom_img = $upload['name']; //format de l'image $type = strrchr($upload['name'], '.'); if($type == ".jpg" ||$type == ".JPG"||$type == ".jpeg"||$type == ".JPEG"){$type = ".jpg";} if($type == ".gif" || $type == ".GIF"){$type = ".gif";} if($type == ".png"|| $type == ".PNG"){$type == ".png";} //gestion des erreurs if (!$nom_img){$error="Veuillez selectionner un fichier à envoyer.";} elseif($upload['size'] > $taille_octets_max){$error="Le fichier doit peser moins de ".($taille_octets_max/1024)." Ko.";} elseif(file_exists($rep_dest.$nom_img)){$error="Une image nommée ".$nom_img." est deja dans ce dossier ".$rep_dest;} elseif (!($type == ".jpg" ||$type == ".JPG"||$type == ".jpeg"||$type == ".JPEG"|| $type == ".gif" || $type == ".GIF"|| $type == ".png"|| $type == ".PNG")) {$error="Votre image est au format ".$type." . Seuls formats acceptés : JPG , GIF , PNG .";} if ($error){echo("
".$error."
");} else { if (is_uploaded_file($upload["tmp_name"])) { $tmp_rep = "./Tmp/"; $dir = $tmp_rep; creation_rep($dir); //echo"$dir"; if (move_uploaded_file($upload['tmp_name'], $tmp_rep.$nom_img)) { // $url = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/".$dest_rep.$nom_img; //Source $rep_src =$tmp_rep; $name_scr =$nom_img; $type = $type; //Destination $rep_dest =$rep_dest; $dir = $rep_dest; creation_rep($dir); $name_dest =$nom_img; Resize($rep_src,$name_scr,$type,$rep_dest,$name_dest,$long_max,$quality,$type); //suppression ./Tmp/ unlink($tmp_rep.$nom_img); rmdir($tmp_rep); } else { print("
Copie échouée : ".$upload['error']."
"); @unlink($upload['tmp_name']); // suppression du fichier temporaire } } } } else{echo"
choisissez une image!!
";} /*if ((!$upload['error'])AND(!$error)){ //pas d'erreur echo"
"; }*/ } function Resize($rep_src,$name_scr,$type,$rep_dest,$name_dest,$long_max,$quality,$type){ $url_src = $rep_src.$name_scr;//echo"$url_src";//chemin de l'image source if (!file_exists($url_src)){echo"
Erreur : Le Fichier n'existe pas !
";} if(!function_exists("Imagecreatefromjpeg")){echo"
Erreur : La Librairie GD n'est pas instalée !
";} if($type == ".jpg"){ $src_im = ImageCreateFromJpeg($url_src); } elseif($type == ".gif"){ $src_im = ImageCreateFromGif($url_src); } elseif($type == ".png"){ $src_im = ImageCreateFromPng($url_src); } else{echo"
Erreur: Extension non autorisée
";} $url_dest = $rep_dest.$name_dest;//echo"$url_dest"; //Taille de l'image originale $size = GetImageSize($url_src); $w = $size[0]; $h = $size[1]; if($w<$long_max AND $h<$long_max){ $height = $h; $width = $w; }else{ //Récupère les proportions if($w<$h){ $p = $w / $h; $height = $long_max; $width = $p * $height; }else{ $p = $h / $w; $width = $long_max; $height = $p * $width; } } // Contraint le rééchantillonage à une largeur fixe // Maintient le ratio de l'image //$dst_h = round(($lmax / $src_w) * $src_h); $dst_im = ImageCreateTrueColor($width,$height); if(!$dst_im){echo"
Erreur : Buffer non créé : .$dst_im
";} /* ImageCopyResampled copie et rééchantillonne l'image originale*/ ImageCopyResampled($dst_im,$src_im,0,0,0,0,$width,$height,$w,$h); //copie ds rep destimation if(imagejpeg($dst_im,$url_dest,$quality)){ return true; }else{ return false; } } function creation_rep($dir){ if (!file_exists ($dir)) { $ok = mkdir($dir, 0777); if(!$ok){echo"
Impossible de creer $dir !!!
";} } else{//echo"
Le repertoire $dir existe déjà !!!
"; } }