aide sur script galerie php

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par ylev, 13 Février 2011.

  1. ylev
    ylev WRInaute discret
    Inscrit:
    31 Août 2004
    Messages:
    66
    J'aime reçus:
    0
    Bonjour,
    j'ai trouvé un script php qui permet de faire une galerie, malheureusement l'ordre d'affichage des images semble ne suivre aucune logique.
    Si quelqu'un pouvait m'aider afin d'afficher les images dans un ordre croissant ce serait sympa.
    Merci d'avance.
    le script:
    Code:
    <?php
    		
    		/* settings */
    		$image_dir = 'images/';
    		$per_column = 6;
    		
    		
    		/* step one:  read directory, make array of files */
    		if ($handle = opendir($image_dir)) {
    			while (false !== ($file = readdir($handle))) 
    			{
    				if ($file != '.' && $file != '..') 
    				{
    					if(strstr($file,'-thumb'))
    					{
    						$files[] = $file;
    					}
    				}
    			}
    			closedir($handle);
    		}
    		
    		/* step two: loop through, format gallery */
    		if(count($files))
    		{
    			foreach($files as $file)
    			{
    				$count++;
    				echo '<a class="photo-link" rel="one-big-group" href="',$image_dir,str_replace('-thumb','',$file),'"><img src="',$image_dir,$file,'" width="100" height="100" /></a>';
    				if($count % $per_column == 0) { echo '<div class="clear"></div>'; }
    			}
    		}
    		else
    		{
    			echo '<p>Aucune image disponible.</p>';
    		}
    		
    	?>
     
  2. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 181
    J'aime reçus:
    351
  3. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    12 009
    J'aime reçus:
    133
    A ta place je remplacerais :

    Code:
          /* step one:  read directory, make array of files */
          if ($handle = opendir($image_dir)) {
             while (false !== ($file = readdir($handle)))
             {
                if ($file != '.' && $file != '..')
                {
                   if(strstr($file,'-thumb'))
                   {
                      $files[] = $file;
                   }
                }
             }
             closedir($handle);
          }
    
    par

    Code:
    $files = glob( $image_dir."*.*");
    
    glob ayant l'avantage de renvoyer la liste des fichiers triés en fonction de leur nom. A la différence de readdir : http://www.php.net/manual/fr/function.readdir.php. Et au final je trouve ça bien plus efficace et sexy.
     
  4. ylev
    ylev WRInaute discret
    Inscrit:
    31 Août 2004
    Messages:
    66
    J'aime reçus:
    0
    Merci
    Je précise être une cruche.
    En remplaçant par ton code cela ne fonctionne pas malheureusement.
     
  5. B-vibes
    B-vibes WRInaute occasionnel
    Inscrit:
    11 Février 2011
    Messages:
    375
    J'aime reçus:
    0
    Code:
      /* step one:  read directory, make array of files */
          if ($handle = opendir($image_dir)) {
             while (false !== ($file = readdir($handle))) 
             {
                if ($file != '.' && $file != '..') 
                {
                   if(strstr($file,'-thumb'))// filtre les fichiers contenant thumb dans leur nom
                   {
                      $files[] = $file;
                   }
                }
             }
    Si tu mets
    Code:
      /* step one:  read directory, make array of files */
          if ($handle = opendir($image_dir)) {
             while (false !== ($file = readdir($handle))) 
             {
                if ($file != '.' && $file != '..') 
                {
                      $files[] = $file;
                }
             }
    Et que tu nommes tes fichiers pour qu'ils apparaissent dans l'ordre souhaité sur le ftp.
    Alors tu auras l'ordre voulu dans ta page web.
     
  6. ylev
    ylev WRInaute discret
    Inscrit:
    31 Août 2004
    Messages:
    66
    J'aime reçus:
    0
    Merci B-vibes
    mais dans ta solution, tu n'affiches plus les thumbs mais directement les images grandes tailles forcées a 100*100.
    J'aurais bien aimé affiché les thumbs dans un ordre croissant.
     
  7. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    12 009
    J'aime reçus:
    133
    Code:
    <?php
          
          /* settings */
          $image_dir = 'images/';
          $per_column = 6;
          $files = glob($image_dir."*.*");
          
          /* step two: loop through, format gallery */
          if(count($files))
          {
             foreach($files as $file)
             {
                $count++;
                echo '<a class="photo-link" rel="one-big-group" href="',$image_dir,str_replace('-thumb','',$file),'"><img src="',$image_dir,$file,'" width="100" height="100" /></a>';
                if($count % $per_column == 0) { echo '<div class="clear"></div>'; }
             }
          }
          else
          {
             echo '<p>Aucune image disponible.</p>';
          }
          
       ?>
    
    Je viens de tester en local et ca marche nickel. Tu es sûr de bien avoir modifié comme il faut ? Ton script est au même niveau que le dossier qui contient les images ?
     
  8. B-vibes
    B-vibes WRInaute occasionnel
    Inscrit:
    11 Février 2011
    Messages:
    375
    J'aime reçus:
    0
    Dans ce cas tu ne changes rien au code, mais tu appliques un nommage rigoureux pour avoir la liste de tes thumbs dans le bon ordre. Ça t'évite de coder quoi.
     
  9. ylev
    ylev WRInaute discret
    Inscrit:
    31 Août 2004
    Messages:
    66
    J'aime reçus:
    0
    Oui mon dossier est au meme niveau que le script.
    le chemin de ton script donne images/images/xx.jpg
    au lieu de images/xx.jpg
     
  10. ylev
    ylev WRInaute discret
    Inscrit:
    31 Août 2004
    Messages:
    66
    J'aime reçus:
    0
    Merci,
    mais la ça implique de renommer les photos + les thumbs une a une :-(
    Car des qu'il y a lettres ou tirets ça ré-affiche sans logique
     
  11. B-vibes
    B-vibes WRInaute occasionnel
    Inscrit:
    11 Février 2011
    Messages:
    375
    J'aime reçus:
    0
    Ah, j'ai dû rater une étape alors. Comment le script devine l'ordre souhaité si on ne s'appuie sur aucun critère ?
    Je vais faire ma soupe, et je réflechis. :mrgreen:
     
  12. ylev
    ylev WRInaute discret
    Inscrit:
    31 Août 2004
    Messages:
    66
    J'aime reçus:
    0
    J'en sais rien mais ce que je sais c'est que ce n'est pas aléatoire puisque c'est toujours dans le même ordre. Sans que je n'en comprenne la logique.
    bon app'
     
  13. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    12 009
    J'aime reçus:
    133
    J'avais pas vu que tu utilisais ta variable lors de l'affichage.

    Donc remplace :

    Code:
    echo '<a class="photo-link" rel="one-big-group" href="'.$image_dir.str_replace('-thumb','',$file).'"><img src="'.$image_dir.$file.'" width="100" height="100" /></a>';
    
    par

    Code:
    echo '<a class="photo-link" rel="one-big-group" href="'.str_replace('-thumb','',$file).'"><img src="'.$image_dir.$file.'" width="100" height="100" /></a>';
    
     
  14. ylev
    ylev WRInaute discret
    Inscrit:
    31 Août 2004
    Messages:
    66
    J'aime reçus:
    0
    Merci pour ton aide,
    la cela fonctionne pour l'ordre mais tu affiches les thumbs et les images dans la galerie alors qu'il ne faudrait que les thumbs les images s'affichant au click
     
  15. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    12 009
    J'aime reçus:
    133
    Il te faut juste dans ce cas reprendre ton test initial sur le -thumb et l'inclure dans le foreach où tu affiches tes liens.
     
  16. ylev
    ylev WRInaute discret
    Inscrit:
    31 Août 2004
    Messages:
    66
    J'aime reçus:
    0
    Possibilité de l'écrire?
    je sais j'en demande beaucoup désolé..
    Merci
     
Chargement...
Similar Threads - aide script galerie Forum Date
Aide mise à jour script (fonction si nulle ou zero ?) Développement d'un site Web ou d'une appli mobile 26 Mai 2017
Demande d'aide à l'installation d'un script Développement d'un site Web ou d'une appli mobile 15 Mars 2014
Besoin d'aide pour combiner plusieurs fichier Javascript Développement d'un site Web ou d'une appli mobile 3 Décembre 2012
Aide ajout de champs en Javascript Développement d'un site Web ou d'une appli mobile 24 Novembre 2012
Encore besoin d'aide javascript Développement d'un site Web ou d'une appli mobile 25 Août 2012
Besoin d'aide : Module inscription/connexion Développement d'un site Web ou d'une appli mobile 3 Juillet 2012
toggle Besoin d'aide sur un script Développement d'un site Web ou d'une appli mobile 8 Juin 2012
Aide sur script PHP Développement d'un site Web ou d'une appli mobile 4 Avril 2012
Script pour aider la navigation Développement d'un site Web ou d'une appli mobile 3 Octobre 2011
Aide pour logique de développement d'un script de commentaires Développement d'un site Web ou d'une appli mobile 24 Juillet 2011
Besoin d'aide javascript Développement d'un site Web ou d'une appli mobile 30 Octobre 2009
Aide pour popup avec ce script Développement d'un site Web ou d'une appli mobile 23 Septembre 2009
Inscriptions sur annuaires, aident toujours dans le positionnement ? Débuter en référencement 15 Mars 2009
Petite aide en Javascript (afficher, cacher, délais, stop) Développement d'un site Web ou d'une appli mobile 1 Mars 2009
besoin d'aide script php affichage dossier sous dossier Développement d'un site Web ou d'une appli mobile 30 Janvier 2009
script php & html demande de l'aide Développement d'un site Web ou d'une appli mobile 29 Janvier 2009
Aide installation d'un script ?? Développement d'un site Web ou d'une appli mobile 6 Janvier 2009
[Réglé] Aide sur Javascript Développement d'un site Web ou d'une appli mobile 27 Novembre 2008
Besoin aide script détection de FAI Développement d'un site Web ou d'une appli mobile 15 Novembre 2008
[Aide] Javascript et Googlebot Développement d'un site Web ou d'une appli mobile 17 Juillet 2008