Lister le contenu d'un répertoire par ordre alphabétique

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 : Lister le contenu d'un répertoire par ordre alphabétique

Re: Lister le contenu d'un répertoire par ordre alphabétique

par xTG » 19 juin 2012, 11:52

Il faut utiliser un flag alphabétique dans ce cas où tu stockeras la lettre courante.
Exemple :
$array = arra(....);
$flag = ''; // initialisé à vide
foreach($array as $value){
  // on teste si on change de première lettre
  if( $value[0] != $flag ){
    // on met à jour le flag
    $flag = $value[0];
    // on affiche la lettre
    echo '<h1>' . $flag . '</h1>';
  }
  // on affiche la valeur
  echo $value . '<br />';
}

Lister le contenu d'un répertoire par ordre alphabétique

par kweb » 19 juin 2012, 11:46

Slt tous le monde !
J'ai un petit script qui me permet d'afficher par ordre alphabétique la liste de tous les répertoires présent dans un répertoire principal.
je souhaiterai les faire afficher de la façon suivante :
A
nom du répertoire commençant par la lettre A
nom du répertoire commençant par la lettre A
nom du répertoire commençant par la lettre A

B
nom du répertoire commençant par la lettre B
nom du répertoire commençant par la lettre B
nom du répertoire commençant par la lettre B
etc.....
car actuellement ils s'affichent comme ceci
nom du répertoire commençant par la lettre A
nom du répertoire commençant par la lettre A
nom du répertoire commençant par la lettre B
nom du répertoire commençant par la lettre B
nom du répertoire commençant par la lettre B
nom du répertoire commençant par la lettre C
Donc si quelqu'un pourrais me donner quelques conseils ou lien traitant de ce sujet, cela m'aiderai...

actuellement j'utilise ce petit code
$dir_nom = '.'; // dossier listé (pour lister le répertoir courant : $dir_nom = '.'  --> ('point')
		$dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas'); // on ouvre le contenu du dossier courant
		$fichier= array(); // on déclare le tableau contenant le nom des fichiers
		$dossier= array(); // on déclare le tableau contenant le nom des dossiers

		while($element = readdir($dir)) {
			if($element != '.' && $element != '..') {
				if (!is_dir($dir_nom.'/'.$element)) {$fichier[] = $element;}
				else {$dossier[] = $element;}
			}
		}

		closedir($dir);

		if(!empty($dossier)) {
			sort($dossier); // pour le tri croissant, rsort() pour le tri décroissant
			echo "<div style=\"clear:both; text-align:center;\">".count($dossier)." sites web accessibles depuis le serveur de DEV</div> \n\n";
			echo "\t\t<ul>\n";
				foreach($dossier as $lien){
					echo "\t\t\t<li><a href=\"$dir_nom/$lien \">$lien</a></li>\n";
				}
			echo "\t\t</ul>";
		}

		if(!empty($fichier)){
			sort($fichier);// pour le tri croissant, rsort() pour le tri décroissant
			echo "<div style=\"clear:both; text-align:center; padding-top:2em; font-weight:bold;\">Liste des fichiers/documents accessibles sur serveur de DEV  :</div> \n\n";
			echo "\t\t<ul>\n";
				foreach($fichier as $lien) {
					echo "\t\t\t<li><a href=\"$dir_nom/$lien \">$lien</a></li>\n";
				}
			echo "\t\t</ul>";
		 }