Problème de tri d'images

Invité
Invité n'ayant pas de compte PHPfrance

24 nov. 2006, 17:28

Bonjour à toutes et tous. J'ai créer ce core afin de piocher des images dans un repertoire et de les mettre en pages comme ça. Le seul problème c'est que le tri alphanumerique ne fonctionne pas et je ne trouve pas mon erreur.
<?php
$nom_repertoire = 'images';
$nb=1;
$i=0;
$dir = opendir($nom_repertoire);
while($file = readdir($dir)) {
$files[$i] = $file;

 if (substr($file,-4)==".jpg") {
 echo "<TD><IMG SRC=\"images/$file\">"."<br>".basename($file,'.jpg')."</TD>\n";
 
  
  }

}  
closedir($dir);
?>
Merci d'avance pour vos réponses.

Mammouth du PHP | 19672 Messages

24 nov. 2006, 17:42

Modération : Afin d'augmenter la lisibilité de ton message, pense à utiliser les balises

Code : Tout sélectionner

et [php]. Elles sont disponibles au-dessus de la zone de saisie de ton message lorsque tu postes un nouveau message. Pour cette fois, je l'ai fait pour toi, à l'avenir, essaye d'y penser, ou mieux, inscris-toi, c'est gratuit et sans engagement, et ça te permettra d'éditer toi-même tes messages pour y apporter les corrections nécessaires.[/color]
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 1 Messages

24 nov. 2006, 17:46

Bonjour à toutes et tous. J'ai créer ce core afin de piocher des images dans un repertoire et de les mettre en pages comme ça. Le seul problème c'est que le tri alphanumerique ne fonctionne pas et je ne trouve pas mon erreur.
<?php
$nom_repertoire = 'images';
$nb=1;
$i=0;
$dir = opendir($nom_repertoire);
while($file = readdir($dir)) {
$files[$i] = $file;

 if (substr($file,-4)==".jpg") {
 echo "<TD><IMG SRC="images/$file">"."<br>".basename($file,'.jpg')."</TD>\n";
 
  
  }

}  
closedir($dir);
?>
Merci d'avance pour vos réponses.
il est vrai que j'ai oublié les codes html et de me connecter
le code source de la page :

Code : Tout sélectionner

<HTML><BODY> <TABLE ALIGN="center"> <?php $nom_repertoire = 'images'; $nb=1; $i=0; $dir = opendir($nom_repertoire); while($file = readdir($dir)) { $files[$i] = $file; if (substr($file,-4)==".jpg") { echo "<TD><IMG SRC="images/$file">"."<br>".basename($file,'.jpg')."</TD>\n"; } } closedir($dir); ?> </TABLE> </BODY></HTML>

ViPHP
ViPHP | 1961 Messages

24 nov. 2006, 18:16

Bonjour,

C'est normal que tes images (nom des fichiers) ne soit pas triés.
Tu les affiches dans l'ordre ou tu les lis.
Quand tu fais un listege de répertoire, effectivement, tu le vois trié, mais c'est pas l'ordre dans lequel les fichiers sont stockés (normalement dans l'ordre d'écriture).

Moi je procèderai de la façon suivante.

Code : Tout sélectionner

Création d'un tableau vide Ouverture du répertoire TQ il y a des fichiers extraire extansion SI extension == critère ajout dans tableau FIN SI FIN TQ Fermeture répertoire Tri du tableau TQ element dans tableau construire HTML afficher HTML FIN TQ Suppression tableau
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

24 nov. 2006, 18:59

Ce que Cyrano voulait te dire, c'est que, quand tu postes du code, il est pratique de les encadrer par les balises

Code : Tout sélectionner

ou [php] ... Je te conseille cette lecture pour t'informer : http://www.phpfrance.com/forums/voir_sujet-14406.php PS : j'ai modifié ton précédent message pour les mettres ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer