Page 1 sur 1

tri sur un affichage d'images

Posté : 08 juil. 2011, 10:43
par catcom951
Bonjour
je souhaiterai faire une sélection dans un fichier d'images (17) ou apparaissent les vignettes (th) et les images en tailles réelles (ph).

Pour un besoin particulier je souhaite afficher 4 vignettes de ce même fichier sur une page, or je n'arrive pas à faire la sélection , toutes les images s'affichent
voici mon code

 <?php
// url du fichier qui contient les images
$urlphoto = "http://monsite.com/galerie/photos/17/";

// nom du répertoire qui contient les images
$nomRepertoire = "galerie/photos/17/";
$Fichier = 'th_';

if (is_dir($nomRepertoire))
   {
   $dossier = opendir($nomRepertoire);
   while ($Fichier = readdir($dossier))
       {
      if ($Fichier != ('th_')  AND (stristr($Fichier,'.gif') OR stristr($Fichier,'.jpg') OR stristr($Fichier,'.png') OR stristr($Fichier,'.bmp')))
	  function GestionExceptions ($exception)
	  {
	  GestionErreurs (E_USER_Erro
        {
        // Hauteur de toutes les images
        $h_vign = "120";
        $taille = getimagesize($nomRepertoire."/".$Fichier);
        $reduc  = floor(($h_vign*100)/($taille[1]));
        $l_vign = floor(($taille[0]*$reduc)/100);
      
          echo '<a target="_blank" href="', $urlphoto, '/',$Fichier, '">';
          echo '<img src="', $urlphoto, '/',$Fichier, '" ';
          echo "width='$l_vign' height='$h_vign'>";
          echo "</a>&nbsp;";
		  
          }
        }    
   closedir($dossier);
   }else{
   echo' Le répertoire spécifié n\'existe pas';
   }
?>
je vous remercie de bien vouloir m'aider

Re: tri sur un affichage d'images

Posté : 08 juil. 2011, 11:25
par Ryle
Si ton code affiche toutes les images du répertoire, c'est parce qu'il n'y a rien pour lui dire quand s'arrêter :)

Ce qu'il te faut c'est ajouter un compteur que tu vas incrémenter dans ta boucle while (à chaque fois qu'il affiche une image) et lorsque tu en auras affiché le nombre voulu, tu pourras indiquer à php d'arrêter l'exécution du while.

Pour cela tu peux soit utiliser l'instruction "break" qui permet d’interrompre une boucle (if ($compteur >= 4) break; ), ou en ajoutant un critère dans la condition de ta boucle while ( while ($Fichier = readdir($dossier) && $compteur < 4) )

Re: tri sur un affichage d'images

Posté : 08 juil. 2011, 14:28
par Invité
merci beaucoup, j'ai trouvé ce que je cherchais

Re: tri sur un affichage d'images

Posté : 08 juil. 2011, 14:44
par Invité
voici ce que j'ai trouvé AND (substr($Fichier,0,3)=='ph_'

en revanche mes photos sont collées comment puis je crée un espace entre chaque voir mettre un trait html ?
Merci encore de vos réponses
Très bon week end et encore merci