aide sur script galerie php


ylev
WRInaute discret
WRInaute discret
 
Messages: 67
Inscription: 31 Aoû 2004

aide sur script galerie php

Message le Dim Fév 13, 2011 14:02

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: Tout sélectionner
<?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>';
      }
      
   ?>


spout
WRInaute accro
WRInaute accro
 
Messages: 4376
Inscription: 14 Mai 2003

Re: aide sur script galerie php

Message le Dim Fév 13, 2011 14:06

Tu dois juste mettre un sort($files)
http://php.net/manual/fr/function.sort.php
Avant le foreach $files.


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8565
Inscription: 23 Nov 2005

Re: aide sur script galerie php

Message le Dim Fév 13, 2011 14:07

A ta place je remplacerais :

Code: Tout sélectionner
      /* 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: Tout sélectionner
$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.


ylev
WRInaute discret
WRInaute discret
 
Messages: 67
Inscription: 31 Aoû 2004

Re: aide sur script galerie php

Message le Dim Fév 13, 2011 14:28

Merci
Je précise être une cruche.
En remplaçant par ton code cela ne fonctionne pas malheureusement.


B-vibes
WRInaute discret
WRInaute discret
 
Messages: 150
Inscription: 11 Fév 2011

Re: aide sur script galerie php

Message le Dim Fév 13, 2011 15:03

Code: Tout sélectionner
  /* 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: Tout sélectionner
  /* 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.


ylev
WRInaute discret
WRInaute discret
 
Messages: 67
Inscription: 31 Aoû 2004

Re: aide sur script galerie php

Message le Dim Fév 13, 2011 15:39

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.


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8565
Inscription: 23 Nov 2005

Re: aide sur script galerie php

Message le Dim Fév 13, 2011 17:23

Code: Tout sélectionner
<?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 ?


B-vibes
WRInaute discret
WRInaute discret
 
Messages: 150
Inscription: 11 Fév 2011

Re: aide sur script galerie php

Message le Dim Fév 13, 2011 17:26

ylev a écrit: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.

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.
Dernière édition par B-vibes le Dim Fév 13, 2011 18:11, édité 1 fois.


ylev
WRInaute discret
WRInaute discret
 
Messages: 67
Inscription: 31 Aoû 2004

Re: aide sur script galerie php

Message le Dim Fév 13, 2011 18:03

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 ?


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


ylev
WRInaute discret
WRInaute discret
 
Messages: 67
Inscription: 31 Aoû 2004

Re: aide sur script galerie php

Message le Dim Fév 13, 2011 18:29

B-vibes a écrit:
ylev a écrit: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.

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.

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


B-vibes
WRInaute discret
WRInaute discret
 
Messages: 150
Inscription: 11 Fév 2011

Re: aide sur script galerie php

Message le Dim Fév 13, 2011 18:37

ylev a écrit:Si quelqu'un pouvait m'aider afin d'afficher les images dans un ordre croissant ce serait sympa.

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:


ylev
WRInaute discret
WRInaute discret
 
Messages: 67
Inscription: 31 Aoû 2004

Re: aide sur script galerie php

Message le Dim Fév 13, 2011 18:44

B-vibes a écrit:
ylev a écrit:Si quelqu'un pouvait m'aider afin d'afficher les images dans un ordre croissant ce serait sympa.

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:

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'


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8565
Inscription: 23 Nov 2005

Re: aide sur script galerie php

Message le Dim Fév 13, 2011 19:09

J'avais pas vu que tu utilisais ta variable lors de l'affichage.

Donc remplace :

Code: Tout sélectionner
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: Tout sélectionner
echo '<a class="photo-link" rel="one-big-group" href="'.str_replace('-thumb','',$file).'"><img src="'.$image_dir.$file.'" width="100" height="100" /></a>';


ylev
WRInaute discret
WRInaute discret
 
Messages: 67
Inscription: 31 Aoû 2004

Re: aide sur script galerie php

Message le Dim Fév 13, 2011 19:32

UsagiYojimbo a écrit:J'avais pas vu que tu utilisais ta variable lors de l'affichage.

Donc remplace :


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


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8565
Inscription: 23 Nov 2005

Re: aide sur script galerie php

Message le Dim Fév 13, 2011 19:39

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.

aide sur script galerie php

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités