"Un script de galerie photos (miniatures)" modifié
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
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
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 ;)
@+
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 ;)
@+
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 .. :( )
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);
- ?>
oups excusez moi ! je n'avais pas vu que la variable $dir était définit 2 fois ...
Accès rapide :
Remonter 

