Linux SRV-16 6.18.44-paas #1 SMP PREEMPT_DYNAMIC Thu Aug 13 10:08:12 UTC 2026 x86_64
/
srv
/
data
/
web
/
vhosts
/
www.volley92.asso.fr
/
htdocs
/
functions
/
/srv/data/web/vhosts/www.volley92.asso.fr/htdocs/functions/optimize_img.php
<?php /** fonction optimize_img() permet d'optimiser une image * @param $url chemin de l'image à modifier * @param $qualite permet de modifier la qualite de l'image. Entier entre 0 et 100 (0 image altérée, 100 image initiale) */ function optimize_img($url, $qualite) { if(file_exists($url)) { $info = pathinfo($url); $extension = $info['extension']; $file =$info['filename']; $nom_image = md5($file).$qualite.".".$extension; $now=new DateTime(); $date = $now->format('Y-m-d_H-i')."optimize"; $exist = FALSE; if($dossier = opendir("img/cache")) { while(false !== ($fichier = readdir($dossier)) && !$exist) { if($fichier != '.' && $fichier != '..') { $exist = file_exists("img/cache/".$fichier."/".$nom_image); if ($exist) {$date = $fichier;} } } } if(!$exist) { switch ($extension) { //création de l'image source case 'jpg': case 'jpeg': case 'JPG' : case 'JPEG' : $img = imagecreatefromjpeg($url); break; case 'png': case 'PNG' : $img = imagecreatefrompng($url); imageAlphaBlending($img, true); break; default: return ""; } if(!file_exists("img/cache")) { if(mkdir("img/cache")) { switch ($extension) { case 'jpg': case 'jpeg': case 'JPG' : case 'JPEG' : if(!file_exists("img/cache/$date")) { mkdir("img/cache/".$date); } imagejpeg($img, "img/cache/".$date.'/'.$nom_image, $qualite); break; case 'png': case 'PNG' : if(!file_exists("img/cache/$date")) { mkdir("img/cache/".$date); } $qualite = 9 - $qualite*9/100; imagesavealpha($img, true); //pour garder la transparence des photo .png imagepng($img, "img/cache/".$date.'/'.$nom_image, $qualite); break; } } } else { switch ($extension) { case 'jpg': case 'jpeg': case 'JPG' : case 'JPEG' : if(!file_exists("img/cache/$date")) { mkdir("img/cache/".$date); } imagejpeg($img, "img/cache/".$date.'/'.$nom_image, $qualite); break; case 'png': case 'PNG' : if(!file_exists("img/cache/$date")) { mkdir("img/cache/".$date); } $qualite = 9 - $qualite*9/100; imagesavealpha($img, true); //pour garder la transparence des photo .png imagepng($img, "img/cache/".$date.'/'.$nom_image, $qualite); break; } } $oldimg_size = filesize($url); $newimg_size = filesize("img/cache/".$date.'/'.$nom_image); if($newimg_size < $oldimg_size) { return "img/cache/".$date.'/'.$nom_image; } else { unlink("img/cache/".$date.'/'.$nom_image); return $url; } } else {return "img/cache/".$date.'/'.$nom_image;} } else { return ""; } }