Je recherche un script PHP qui parcourt tous les fichiers d'un répertoire afin que je puisse faire des choses avec le nom de fichier, comme le format, l'imprimer ou l'ajouter à un lien. Je voudrais pouvoir trier les fichiers par nom, type ou par date de création / ajoutée / modifiée. (Pensez à "index" de répertoire de fantaisie.) J'aimerais également pouvoir ajouter des exclusions à la liste de fichiers, comme le script lui-même ou d'autres fichiers "système". (Comme .
et ..
« répertoires ».)
Étant donné que j'aimerais pouvoir modifier le script, je suis plus intéressé par la documentation PHP et par apprendre à en écrire un moi-même. Cela dit, s'il existe des scripts, des didacticiels, etc., veuillez me le faire savoir.
Réponses:
Vous pouvez utiliser DirectoryIterator . Exemple du manuel php:
la source
dirname()
fonction ci-dessus obtiendra le dossier parent du chemin que vous y mettez. Dans mon cas, j'ai supposé que dirname était un wrapper pour le nom / chemin du répertoire, donc ce n'était pas nécessaire./home/examples/banana.jpg
utiliser$fileinfo->getPathname()
Si vous n'avez pas accès à la classe DirectoryIterator, essayez ceci:
la source
Utilisez la
scandir()
fonction:la source
Vous pouvez également utiliser
FilesystemIterator
. Il nécessite encore moins de codeDirectoryIterator
et supprime automatiquement.
et..
.Lien: http://php.net/manual/en/class.filesystemiterator.php
la source
Vous pouvez utiliser ce code pour parcourir un répertoire de manière récursive :
la source
glob () a des dispositions pour le tri et la correspondance de modèles. La valeur de retour étant un tableau, vous pouvez faire la plupart de tout ce dont vous avez besoin.
la source
Par souci d'exhaustivité (puisque cela semble être une page à fort trafic), n'oublions pas la bonne vieille
dir()
fonction :la source