1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| function optimisation($photo,$largeur_mini,$cheminpicsmembres,$cheminpicsupload,$cheminminiatures,$jpegquality,$ftype,$ftp){
$conn_id = ftp_connect($ftp[0]);
$login_result = ftp_login($conn_id, $ftp[1],$ftp[2]);
$open = opendir($cheminpicsupload.$photo);
$fichier_image = $cheminpicsmembres.$photo;
$photosansextension = explode(".",$photo);
if ($ftype=="image/jpeg"){
$image_origine = imagecreatefromjpeg($fichier_image);
}
elseif ($ftype=="image/png"){
$image_origine = imagecreatefrompng($fichier_image);
}
elseif ($ftype=="image/gif"){
$image_origine = imagecreatefromgif($fichier_image);
}
elseif ($ftype=="image/bmp"){
$image_origine = imagecreatefrombmp($fichier_image);
}
else {$photo="erreur. ftype=".$ftype.".<br />";return $photo;}
$image_finale = imagecreatetruecolor(imagesx($image_origine),imagesy($image_origine));
$minidest = $cheminpicsupload.$photosansextension[0].".jpg";
if (!imagejpeg($image_finale,$minidest,50)) {$photo="Erreur ImgjpegOptimisation";return $photo;}
if (!imagedestroy($image_finale)) {$photo="Erreur DestroyOptimisation";return $photo;}
//ici : suppression de l'image non compressée
$photo=$photosansextension[0].".jpg";
//Création automatique de miniatures lors de l'ajout de nouvelles photos au grand format
$open = opendir($cheminpicsupload.$photo);
$fichier_image = $cheminpicsmembres.$photo;
$image_origine = imagecreatefromjpeg($fichier_image);
$largeur_origine = imagesx($image_origine);
$hauteur_origine = imagesy($image_origine);
$hauteur_mini = $hauteur_origine * $largeur_mini / $largeur_origine;
$image_finale = imagecreatetruecolor($largeur_mini, $hauteur_mini);
imagecopyresized($image_finale, $image_origine, 0, 0, 0, 0, $largeur_mini, $hauteur_mini, imagesx($image_origine), imagesy($image_origine) );
$minidest = $cheminminiatures."low".$photo;
if(!imagejpeg($image_finale, $minidest,$jpegquality[1])) {$photo="Erreur ImgjpegMiniature";return $photo;}
if(!imagedestroy($image_finale)) {$photo="Erreur DestroyMiniature";return $photo;}
fclose($fp);
return $photo;
} |
Partager