$imagename = $_SERVER['DOCUMENT_ROOT'] . '/' . $_GET['img']; $vert_sz = ( isset($_GET['vert_sz']) ) ? $_GET['vert_sz'] : "" ; $hori_sz = ( isset($_GET['hori_sz']) ) ? $_GET['hori_sz'] : "" ; // Create source image and dimensions $imagemime = image_type_to_mime_type($imagename); // si on a pas pu decouvrir le mime type, on s'appui sur l'extension if($imagemime == 'application/octet-stream') { $imagemime = 'image/' . strtolower(substr($imagename, strrpos($imagename, '.') + 1)); } switch($imagemime) { case 'image/gif': $imgcreatfrom = imagecreatefromgif ; $imgcreat = imagecreate ; $imgsnd = imagegif ; break ; case 'image/jpeg': $imgcreatfrom = imagecreatefromjpeg ; $imgcreat = imagecreatetruecolor ; $imgsnd = imagejpeg ; break ; case 'image/jpg': $imgcreatfrom = imagecreatefromjpeg ; $imgcreat = imagecreatetruecolor ; $imgsnd = imagejpeg ; break ; case 'image/png': $imgcreatfrom = imagecreatefrompng ; $imgcreat = imagecreatetruecolor ; $imgsnd = imagepng ; break ; case 'image/bmp': $imgcreatfrom = imagecreatefromwbmp ; $imgcreat = imagecreatetruecolor ; $imgsnd = imagewbmp ; break ; default: $imgcreatfrom = 'false' ; break ; } while(true) { if ( $imgcreatfrom == 'false' ) { echo "
impossible de determiner le mime type de $imagename
"; break; } $src_img = @$imgcreatfrom($imagename); $srcsize = @getimagesize($imagename); if (!$srcsize) { echo "
impossible de determiner la taille de $imagename
"; break; } // si on a les deux tailles if ( ($vert_sz != "") && ($hori_sz != "") ) { $dest_x = $vert_sz ; $dest_y = $hori_sz ; } // si on a que l'horizontal elseif ( ($vert_sz == "") && ($hori_sz != "") ) { $dest_y = $hori_sz ; $dest_x = ($dest_y / $srcsize[0]) * $srcsize[1]; } // si on a que le vertical elseif ( ($vert_sz != "") && ($hori_sz == "") ) { $dest_x = $vert_sz ; $dest_y = ($dest_x / $srcsize[0]) * $srcsize[1]; } // si on a rien else { $dest_x = 178; $dest_y = (178 / $srcsize[0]) * $srcsize[1]; } if (!$src_img) { echo "
erreur au lancement de la commande $imgcreatfrom($imagename)"; break; } $dst_img = @$imgcreat($dest_x, $dest_y); if (!$dst_img) { echo "
erreur au lancement de la commande $imgcreat($dest_x, $dest_y)"; break; } // Resize image if (!@imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dest_x, $dest_y, $srcsize[0], $srcsize[1])) { echo "
erreur au lancement de la commande imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dest_x, $dest_y, $srcsize[0], $srcsize[1])"; break; } // Output image @header("content-type: " . $imagemime); if (!@$imgsnd($dst_img)) { echo "
erreur au lancement de la commande $imgsnd($dst_img)"; break; } $_SESSION['image'] = $imagename ; // Delete images @imagedestroy($src_img); @imagedestroy($dst_img); break; }