Comment puis-je liste tous les fichiers dans un répertoire par ordre alphabétique à l'aide de PHP?
Je suis en utilisant le code PHP suivant liste tous les fichiers et dossiers dans le répertoire courant:
<?php
$dirname = ".";
$dir = opendir($dirname);
while(false != ($file = readdir($dir)))
{
if(($file != ".") and ($file != "..") and ($file != "index.php"))
{
echo("<a href='$file'>$file</a> <br />");
}
}
?>
Le problème est que la liste n'est pas ordonnée par ordre alphabétique (c'est peut-être triés par date de création? Je ne suis pas sûr).
Comment puis-je m'assurer que c'est triés par ordre alphabétique?
OriginalL'auteur David B | 2010-10-20
Vous devez vous connecter pour publier un commentaire.
La manuel dit clairement que:
Ce que vous pouvez faire est de stocker les fichiers dans un tableau, trier et imprimer le contenu d':
+1 pour natsort() pourriez même penser à natcasesort()
vous pouvez utiliser
$files = glob("/your/path/*");
B: Par la voie: les noms de fichiers peuvent contenir du HTML-Métacaractères. Donc on doit leur échapper avant de sortir. Aussi, vous voulez vérifier les fichiers en cours de téléchargement pour la validité. Pas que l'on peut télécharger des fichiers php ou, ce qui va être exécutée, puis..
Juste vérifié que
glob
donne triés de sortie. +1 pour vous.OriginalL'auteur
OriginalL'auteur
Vous pourriez mettre tous les noms de répertoire à l'intérieur d'un tableau, par exemple:
Après cela, vous pouvez trier le tableau avec:
Et ensuite imprimer les liens avec ce contenu.
J'espère que cette aide.
OriginalL'auteur
$list = array();
avant de l'utiliser.OriginalL'auteur
À l'aide de glob et tri il devrait fonctionner.
OriginalL'auteur
Je le recommande éloigne de l'ancienne fonctions opendir()/readdir(). Soit utiliser glob() ou si vous rencontrez un grand nombre de fichiers dans un répertoire, utilisez la DirectoryIterator Classe(s):
http://www.php.net/manual/en/class.directoryiterator.php
http://www.php.net/manual/en/function.glob.php
Ce qui concerne
parce que la programmation orientée objet est la voie à suivre. Aussi l'Itérateur-classes ont beaucoup de fonctionnalités mises en œuvre à construire-dans php, que vous devez coder manuellement lorsque vous utilisez les fonctions opendir(). Donc, je crois que ce serait mieux pour les performances ou des raisons de sécurité.
en.wikipedia.org/wiki/No_Silver_Bullet 🙂
OriginalL'auteur
Vous pouvez utiliser ce script de belle:
http://halgatewood.com/free-php-list-files-in-a-directory-script/
OriginalL'auteur