J'ai donc modifié un peu ma source et j'arrive à ceci, mais toujours le même problème ...
(j'ai essayé d'utiliser foreach mais il ne m'affichait qu'un résultat .. :( )
<?php
$rep = "Photos/";
$dir = @opendir($rep);
$php_nomdossier = array();
$i=0;
while($f = readdir($dir)) {
if(is_dir($rep.$f) && $f != '.' && $f != '..') {
$php_nomdossier[$i] = $f;
$i++;
}
}
closedir($rep);
$j=0;
while($j != $i) {
$reptotal = $rep.$php_nomdossier[$j].'/';
$dir = @opendir($reptotal);
while($f = readdir($dir)) {
if(is_file($reptotal.$f) && $f != '.' && $f != '..') {
if(GetExtensionName($f,false) == 'jpg' || GetExtensionName($f,false) == 'png') {
// infos sur l'image
$tableau = @getimagesize($reptotal.$f);
// on défini le répertoire où sont stockées les images de grande taille
$dir = $reptotal;
// on défini le répertoire où seront stockées les miniatures
$dir_mini = $reptotal.'mini';
// largeur max
$ratio = 150;
// si notre image est de type jpeg
if (@GetExtensionName($f,false) == 'jpg') {
// on crée une image à partir de notre grande image à l'aide de la librairie GD
$src = imagecreatefromjpeg($dir.$f);
$im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1]));
imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]);
// on copie notre fichier généré dans le répertoire des miniatures
imagejpeg($im, $dir_mini.'/'.$f);
}
// si notre image est de type png
elseif (@GetExtensionName($f,false) == 'png') {
$src = imagecreatefrompng($dir.$f);
$im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1]));
imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]);
imagepng ($im, $dir_mini.'/'.$f);
}
}
}
}
$j++;
}
closedir($rep);
?>