Affichage liste dossiers par ordre ALPHABETIQUE [Résolu]

mailliam 262 Messages postés mardi 2 juillet 2002Date d'inscription 10 mars 2014 Dernière intervention - 19 mai 2011 à 16:01 - Dernière réponse : mailliam 262 Messages postés mardi 2 juillet 2002Date d'inscription 10 mars 2014 Dernière intervention
- 20 mai 2011 à 20:32
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
Afficher la suite 

2 réponses

Répondre au sujet
cod57 1661 Messages postés dimanche 7 septembre 2008Date d'inscription 11 septembre 2013 Dernière intervention - 19 mai 2011 à 16:36
+3
Utile
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 !
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cod57
mailliam 262 Messages postés mardi 2 juillet 2002Date d'inscription 10 mars 2014 Dernière intervention - 20 mai 2011 à 20:32
0
Utile
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++
Commenter la réponse de mailliam

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.