"Un script de galerie photos (miniatures)" modifié

Répondre
DJejel
DJejel
Déconnecté
Bonjour à tous,
J'ai essayé de modifier la source "Un script de galerie photos (miniatures)", en créant les miniatures toutes d'un coup (ce qui permet l'envoi en ftp et par formulaire) et en mettant ces images dans plusieurs dossiers. Mais il n'y a qu'une miniature qui se crée par dossier ...
Merci beaucoup de votre aide !

voir le code ici : http://www.lephpfacile.com/wall/wall-1558.php
moogli
moogli
Déconnecté
Il en faut peu pour être heureux !!!!!
salut,

pour parcourir un tableau utilise foreach pour te faciliter la tache.

$src = imagecreatefromjpeg($dir.'/'.$f);

$dir finit par un / (vu que c'est le cas de $reptotal).

$dir_mini = $reptotal.'/mini'; (truc//mini).

affiche le contenu de tes variables tu y verra des surprises je pense ;)

@+
DJejel
DJejel
Déconnecté
Merci de ta réponse si rapide !
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 .. :( )
  1. <?php
  2. $rep = "Photos/"; 
  3.       $dir = @opendir($rep); 
  4.  
  5.       $php_nomdossier = array(); 
  6.       $i=0; 
  7.             
  8.       while($f = readdir($dir)) { 
  9.          if(is_dir($rep.$f) && $f != '.' && $f != '..') {            
  10.             $php_nomdossier[$i] = $f; 
  11.             $i++; 
  12.             } 
  13.          } 
  14.  
  15.       closedir($rep); 
  16.       $j=0; 
  17.  
  18.       while($j != $i) { 
  19.          $reptotal = $rep.$php_nomdossier[$j].'/'; 
  20.          $dir = @opendir($reptotal); 
  21.          
  22.          while($f = readdir($dir)) { 
  23.             if(is_file($reptotal.$f) && $f != '.' && $f != '..') {      
  24.                if(GetExtensionName($f,false) == 'jpg' || GetExtensionName($f,false) == 'png') { 
  25.                   
  26.                   // infos sur l'image 
  27.                   $tableau = @getimagesize($reptotal.$f); 
  28.                   // on défini le répertoire où sont stockées les images de grande taille 
  29.                   $dir = $reptotal; 
  30.                   // on défini le répertoire où seront stockées les miniatures 
  31.                   $dir_mini = $reptotal.'mini'; 
  32.                   // largeur max 
  33.                   $ratio = 150; 
  34.                   
  35.  
  36.                   // si notre image est de type jpeg 
  37.                   if (@GetExtensionName($f,false) == 'jpg') { 
  38.                      // on crée une image à partir de notre grande image à l'aide de la librairie GD 
  39.                      $src = imagecreatefromjpeg($dir.$f); 
  40.                      
  41.                      $im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1])); 
  42.                      imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]); 
  43.                   
  44.                      // on copie notre fichier généré dans le répertoire des miniatures 
  45.                      imagejpeg($im, $dir_mini.'/'.$f); 
  46.                      } 
  47.                   
  48.                   // si notre image est de type png 
  49.                   elseif (@GetExtensionName($f,false) == 'png') { 
  50.                      $src = imagecreatefrompng($dir.$f); 
  51.                      
  52.                      $im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1])); 
  53.                      imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]); 
  54.                   
  55.                      imagepng ($im, $dir_mini.'/'.$f); 
  56.                      } 
  57.                   } 
  58.                } 
  59.             } 
  60.          $j++; 
  61.          } 
  62.             
  63.       closedir($rep);  
  64. ?> 
DJejel
DJejel
Déconnecté
oups excusez moi ! je n'avais pas vu que la variable $dir était définit 2 fois ... smiley
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Php - Breizh Blog