Affichage liste dossiers par ordre ALPHABETIQUE [Résolu]

Signaler
Messages postés
261
Date d'inscription
mardi 2 juillet 2002
Statut
Membre
Dernière intervention
10 mars 2014
-
Messages postés
261
Date d'inscription
mardi 2 juillet 2002
Statut
Membre
Dernière intervention
10 mars 2014
-
Ello tous!

Voilà moi je me sers du code suivant pour lister les dossiers d'un répertoire sur mon serveur.
Seulement ils ne s'affiche pas par ordre alphabétique ces ***

je fais une boucle while($p= readdir($dir)) pour connaître les dossiers
($p=les dossiers) et je pense que c'est ici que je devrais changer ma façon de faire

<?php
// Dossier en cours
$curdir = @$_GET["dir"];
if(!$curdir) $curdir = ".";
//echo " Dossier ".$curdir." 

\n";
$num  = "1";

// LISTE DES DOSSIERS COURANTS
$dir = opendir($curdir);
// on scanne le répertoire
while($p=readdir($dir)) {
 // si c'est un dossier sauf . (current directory)
 if(is_dir($curdir."/".$p)&&($p!=".")) {
  // si c'est le dossier .. (parent directory)
  if($p=="..") {
  // si ce n'est pas dans le dossier racine
   if($curdir!=".") {
   // lien vers le dossier parent
   $tmp = strrpos($curdir,"/");
   echo "Parent Directory
\n";
   }
  // sinon, lien vers le dossier
  } else {
    ?>
    <form method="post" action="gestionnaire1.php" name="form<?php echo $num ?>">
    ">
    
    .submit()">
    </form>
    <?php
  }
 }
$num++;
}
closedir($dir);
?>


Si qqun à une idée je serais heureux

2 réponses

Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
12
bonjour
chez moi ils sont dans l'ordre bref ...
tu peux faire autrement
une idée
a++

<?php
// Dossier en cours
$curdir =  @$_GET["dir"];
if(!$curdir) $curdir = ".";
//echo " Dossier ".$curdir." 

\n";
$num  = "1";

// LISTE DES DOSSIERS COURANTS
$dir = opendir($curdir);
// on scanne le répertoire


/*tu peux faire des filtres*/
while($p1[]=readdir($dir)) {
asort($p1);
//ksort($p1);
//rsort($p1); ...
}

echo '';
print_r($p1);
echo '

';

//while($p=readdir($dir))
foreach($p1 as $k => $p)
 {
 // si c'est un dossier sauf . (current directory)
 if(is_dir($curdir."/".$p)&&($p!=".")) {
  // si c'est le dossier .. (parent directory)
  if($p=="..") {
  // si ce n'est pas dans le dossier racine
   if($curdir!=".") {
   // lien vers le dossier parent
   $tmp = strrpos($curdir,"/");
   echo "Parent Directory
\n";
   }
  // sinon, lien vers le dossier
  } else {
    ?>
    <form method="post" action="gestionnaire1.php" name="form<?php echo $num ?>">
    ">
    
    .submit()">
    </form>
    <?php
  }
 }
$num++;
}
closedir($dir);
?>






Bonne programmation !
Messages postés
261
Date d'inscription
mardi 2 juillet 2002
Statut
Membre
Dernière intervention
10 mars 2014
2
Excellent ca marche!! t'es trop fort

je connaissais pas la fonction asort, ksort..

Chez toi ils sont dans l'ordre, en fait les dossiers apparaissaient dans l'ordre de créations, si j'ajoutais un dossier il apparaissait en fin de liste..

Merci bcp en tout cas!
A++