Afficher le contenu d'un répertoire en ordre alphabétique
Résolu
chlow95
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
Pitet Messages postés 2826 Date d'inscription Statut Membre Dernière intervention -
Pitet Messages postés 2826 Date d'inscription Statut Membre Dernière intervention -
bonsoir à tous,
j'utilise un petit script php pour afficher les répertoires existants sur mon site web,
tout fonctionne mais l'affichage est sans ordre, je voudrais les trier par ordre alphabétique, quelles modifs à apporter sur mon script que voilà :
j'utilise un petit script php pour afficher les répertoires existants sur mon site web,
tout fonctionne mais l'affichage est sans ordre, je voudrais les trier par ordre alphabétique, quelles modifs à apporter sur mon script que voilà :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <? // Par défaut : anglais $directoryListing = "Folders in server root (\"www\")"; $noDir = "no folder"; $presentation = "This page display folders in server root. You can delete this page if you want to organize differently the folder. There'e a backup oh this file in "safe" directory (index-safe.php)."; $accueil = "Bienvenue chez CVCOM"; $browser_languages = explode(",", getenv("HTTP_ACCEPT_LANGUAGE")); $nb_browser_languages = sizeof($browser_languages); $browser_lang = ""; // ne pas initialiser $biContinue = true; for ($niI = 0; $biContinue==true && $niI < $nb_browser_languages; $niI++) { $biContinue = false; $lg = explode("-", $browser_languages[$niI]); switch ($lg[0]) { case "fr" : $directoryListing = "Nos sites "; $noDir = "aucun répertoire"; $presentation = "Cette page permet de visualiser les répertoires placés à la racine du serveur. Si vous souhaitez organiser autrement le répertoire "www", vous pouvez effacer ce fichier. Il en existe une copie de sauvegarde dans le répertoire "safe" (index-safe.php)."; break; case "en" : break; default: $biContinue = true; } } ?> <html> <head> <style type="text/css"> .text1 {font-family: Arial, Helvetica, sans-serif;font-size: 12px;color: White;text-align : left;} .text2 {font-family: Arial, Helvetica, sans-serif;font-size: 12px;color: Silver;text-align : left;} .titre1 {font-family: Arial, Helvetica, sans-serif;font-size: 28px;font-weight: bold;color: #FFFFFF;} .titre2 {font-family: Arial, Helvetica, sans-serif;font-size: 28px;font-weight: bold;color: #cccccc;} </style> </head> <body bgcolor="#525A73"> <div align="center"> <table width="400" cellspacing="0" cellpadding="0" border="0" align="center"> <tr> <td width="100%" nowrap class="titre1"> </td> <td><img src="logo_bureau.gif" width="960" height="509" border="0"></a> </td> </tr> <tr> </table> </div> <table width="500" border="0" cellspacing="4" cellpadding="0" align="center"> <tr> <td><img src="cube_rouge_small.gif" width="18" height="20"></td> <td width="100%" nowrap class="titre1"> <? echo $directoryListing; ?> :</td> </tr> </table> <table width="500" border="0" cellspacing="2" cellpadding="0" align="center"> <? $rep=opendir('.'); $bAuMoinsUnRepertoire = false; while ($file = readdir($rep)){ if($file != '..' && $file !='.' && $file !=''){ if (is_dir($file)){ $bAuMoinsUnRepertoire = true; print("<tr><td nowrap class='text1'> </td>"); print("<td width='100%' class='text1'>"); print(" <img src='dossier.gif' width='23' height='16' align='absbottom'> "); print("<a href='$file/' rel="nofollow noopener noreferrer" target="_blank" class='text1'>$file</a>"); print("</td></tr>"); } } } if ($bAuMoinsUnRepertoire == false) { print("<tr><td nowrap class='text1'><div align='center'>- $noDir -</div></td>"); print("</td></tr>"); } closedir($rep); clearstatcache(); ?> </table> <br> <table width="500" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td class="text1"> </td> </tr> </table> </body> </html>
EDIT : AJout des balises de code
merci d'avance de votre aide car pour le site ça va, mais le php ne m'est pas familier
A voir également:
- Répertoire alphabétique numérique
- Télévision numérique - Guide
- Comment trier par ordre alphabétique sur excel - Guide
- Télévision numérique terrestre - Accueil - TV & Vidéo
- Logiciel répertoire alphabétique gratuit - Télécharger - Bureautique
- Pavé numérique bloqué - Guide
1 réponse
Salut,
Une solution possible est, avant l'affichage, de récupérer les dossiers dans un tableau php puis d'utiliser la fonction php asort() sur ce tableau pour trier les dossiers, puis utiliser ce tableau pour l'affichage.
Exemple :
Bonne journée,
Une solution possible est, avant l'affichage, de récupérer les dossiers dans un tableau php puis d'utiliser la fonction php asort() sur ce tableau pour trier les dossiers, puis utiliser ce tableau pour l'affichage.
Exemple :
// tableau des noms de dossiers $directories = array(); // on récupère tous les dossiers du dossier courant // j'utilise glob pour récupérer les dossiers plus facilement mais il est possible d'utiliser les fonctions opendir() et readdir() $globResults = glob('./*', GLOB_ONLYDIR); // pour chaque dossier récupéré, on ajoute son nom dans le tableau $directories foreach ($globResults as $result) { $directories[] = basename($result); } // on tri le tableau $directories asort($directories); // on affiche le tableau $directories foreach ($directories as $dir) { echo $dir . '<br>'; }
Bonne journée,
question bête je sais mais ....