rendered paste body<?php
error_reporting(E_ALL ^ E_NOTICE);
function miniature($file, $new_height = NULL, $new_width = NULL)
{
// definition des dossiers de destination et de source
$dir = 'galerie/'.$_GET['g'].'/';
$dest = 'galerie/'.$_GET['g'].'/miniature/';
if(!is_dir($dest))
mkdir($dest);
if(!file_exists($dest.$new_width.'-'.$new_height.'-'.$file))
{
$extension = substr($file, -3);
if($extension == "png")
{
$source = ImageCreateFromPng($dir.$file);
$largeurSource = imagesx($source);
$hauteurSource = imagesy($source);
// Teste les dimensions tenant dans la zone
$test_h = round(($new_width / $largeurSource) * $hauteurSource);
$test_w = round(($new_height / $hauteurSource) * $largeurSource);
// Si Height final non précisé
if(!$new_height) $new_height = $test_h;
// Sinon si Width final non précisé
elseif(!$new_width) $new_width = $test_w;
// Sinon teste quel redimensionnement tient dans la zone
elseif($test_h>$new_height) $new_width = $test_w;
else $new_height = $test_h;
$image = ImageCreateTrueColor ($new_width, $new_height) or die ("<h1>Erreur</h1><p>La création de l'image a échoué</p>");
ImageCopyResampled($image, $source, 0, 0, 0, 0, $new_width, $new_height, $largeurSource, $hauteurSource);
$path = $dest.$new_width.'-'.$new_height.'-'.$file;
ImagePng ($image, $path);
return $path;
}
elseif($extension == "jpg")
{
$source = ImageCreateFromJpeg($dir.$file);
$largeurSource = imagesx($source);
$hauteurSource = imagesy($source);
// Teste les dimensions tenant dans la zone
$test_h = round(($new_width / $largeurSource) * $hauteurSource);
$test_w = round(($new_height / $hauteurSource) * $largeurSource);
// Si Height final non précisé
if(!$new_height) $new_height = $test_h;
// Sinon si Width final non précisé
elseif(!$new_width) $new_width = $test_w;
// Sinon teste quel redimensionnement tient dans la zone
elseif($test_h>$new_height) $new_width = $test_w;
else $new_height = $test_h;
$image = ImageCreateTrueColor ($new_width, $new_height) or die ("<h1>Erreur</h1><p>La création de l'image a échoué</p>");
ImageCopyResampled($image, $source, 0, 0, 0, 0, $new_width, $new_height, $largeurSource, $hauteurSource);
$path = $dest.$new_width.'-'.$new_height.'-'.$file;
ImageJpeg ($image, $path);
return $path;
}
else
return "Erreur : seules les images png et jpeg sont accepter !!!";
}
else
return $dest.$new_width.'-'.$new_height.'-'.$file;
}
function lire_repertoire($rep, $ext)
{
$liste = array();
$dir = opendir($rep);
while($file = readdir($dir))
{
if($file != '.' && $file != '..' && !is_dir($file))
$liste[] = $file;
}
$trouve = array_values(preg_grep('`\.'.$ext.'$`', $liste));
closedir($dir);
return $trouve;
}
// definition du répertoire et de l'extension
$rep = 'galerie/'.$_GET['g'];
$ext = 'jpg';
foreach(lire_repertoire($rep,$ext) as $key => $val){
$i++;
echo '<a href="moyenne.php?image='.miniature($val, 490, NULL).'"><img src="'.miniature($val, NULL, 150).'" alt=""></a> ';
if($i % 3 == 0)
echo '<br /><br />';
}
?>