Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment classer les resultatd d'un readdir par ordre alphabetique

2 réponses
Avatar
Voila j'ai écrit ce superbe script ou plutot adapté mais il m'affiche bien
le contenu de mon repertoire dans un ordre aleatoire ou suivant ces propres
critères, je voudrai que cela apparaisse classé par ordre alphabétique

Merci d'avance pour l'aide

Cricrizebest



<?php
// Je cree un fonction
function listfile($from) {
$dossier=opendir($from); // Je open le dossier
while ($fichier = readdir($dossier)) { // boucle
$l = array('.', '..');
sort ($l ); // ca c'est censé trier par ordre alphabetique le resultat ...
eh ben ca marche pas!!!
if (!in_array( $fichier, $l)){
$_file_ = $from."/".$fichier;
if (is_dir($_file_)){
print("dir :: <a href=$_file_>$_file_</a><br>");
}
else {

}
}
}
}
if (isset($d)) {
listfile($d);
} else {
listfile(".");
}
?>

2 réponses

Avatar
Matthieu Dapvril
Pour l'ordre d'affichage :
la doc : http://fr.php.net/manual/en/function.readdir.php
=> Les noms de fichiers sont retournés dans l'ordre dans lequel ils sont
stockés

Une solution même si elle n'est pas forcément la plus élégante mais c'est la
seule qui me vient à l'idée :
Mettre ce que tu veux garder dans un tableau, que tu classes une fois avoir
parcouru tout ton répertoire.

Pour ton tri qui semble t-il ne marche pas, il y a peut être une explication
tout à fait censée.
Tu crées un tableau ($1) contenant
à l'indice 0, la valeur '.'
à l'indice 1, la valeur '..'
Et ensuite tu lui demandes de trier ce tableau !!!!
Il y a toutes les chances que les valeurs contenues après le tri soient
toujours ('.', '..')...
Avatar
Nudrema
pour trier les fichiers par ordre alphabétiques, tu les mets dans
un tableau (plutôt que directement les écrire), et tu fais un
sort() sur ce tableau...