Afficher le contenu d'un repertoire par ordre alphanumérique

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Afficher le contenu d'un repertoire par ordre alphanumérique

par Ryle » 18 mai 2006, 12:55

Il faut dans un premier temps modifier ton code pour conserver le nom du dossier dans un tableau au lieu de l'afficher, puis trier ce tableau. Tu pourras alors utiliser un foreach ou n'importe quel autre boucle pour l'afficher :
$dirTab = array(); // on déclare le tableau
if ($handle = opendir($url_picture_gallery)) { 
    while (false !== ($file = readdir($handle))) { 
        if ($file != "." && $file != "..") { 
             // echo $file; 
             $dirTab[] = $file; // on ajoute le nom du dossier dans le tableau
        } 
    } 
    closedir($handle); 
} 
sort($dirTab); // tri le tableau
Tu peux ensuite utiliser $dirTab comme bon te semble maintenant qu'il est trié.. par exemple avec un foreach :
foreach($dirTab as $dir) { // ta boucle pour parcourir le tableau
  echo $dir; // l'affichage ou autre
}

par Invité » 18 mai 2006, 12:43

Il est possible que ton systeme utilise un ordre ascii, plaçant ainsi les noms commençant par une majuscule avant ceux commençant par une minuscule...
Je n'utilise toujours que des miniscule, par créer mon tableau depuis le scan du dossier que dois-je utiliser : foreach. Mieux encore peux tu me donner le bout de code.

Mille merci

par Ryle » 17 mai 2006, 17:32

Il est possible que ton systeme utilise un ordre ascii, plaçant ainsi les noms commençant par une majuscule avant ceux commençant par une minuscule...

Je ne sais pas si ça se paramètre, mais au pire, tu peux stocker ces noms dans un tableau et utiliser la fonction sort() :)

par wp007 » 17 mai 2006, 17:27

Je ne comprend pas :-k

Normalement, opendir() parcours les résultas dans cet ordre là.

Quel ordre obtiens tu ?
Un ordre complètement aléatoire quand je fais un nouveau dossier (c'est des dossiers que je veux lister) une fois il me le mets en premier, une autre fois au milieu, ou à la fin, bref nimporte ou.

par zeus » 17 mai 2006, 17:20

Je ne comprend pas :-k

Normalement, opendir() parcours les résultas dans cet ordre là.

Quel ordre obtiens tu ?

Afficher le contenu d'un repertoire par ordre alphanumérique

par wp007 » 17 mai 2006, 17:06

Hello, je débute alors merci de votre indulgence.

Je parcours mon dossier ainsi.
<?php
include("pictures/pic_lib.inc.php"); 
if ($handle = opendir($url_picture_gallery)) 
{
    while (false !== ($file = readdir($handle))) 
		{
        if ($file != "." && $file != "..") 
		{
		 	echo $file;
        }
    }
    closedir($handle);
}
?>
Mais je voudrais que l'affichage ce fasse par ordre alphanumérique. Comment dois-je mis prendre ?

Merci de votre réponse