Ich suche nach einem PHP-Skript, das alle Dateien in einem Verzeichnis durchläuft, damit ich mit dem Dateinamen Dinge tun kann, wie z. B. Formatieren, Drucken oder Hinzufügen zu einem Link. Ich möchte in der Lage sein, die Dateien nach Name, Typ oder Datum der Erstellung / Hinzufügung / Änderung zu sortieren. (Denken Sie an ein ausgefallenes Verzeichnis "index".) Ich möchte auch Ausschlüsse zur Liste der Dateien hinzufügen können, z. B. das Skript selbst oder andere "System" -Dateien. (Wie die .
und ..
"Verzeichnisse".)
Da ich das Skript ändern möchte, bin ich mehr daran interessiert, mir die PHP-Dokumente anzusehen und zu lernen, wie man selbst eines schreibt. Das heißt, wenn es Skripte, Tutorials und so weiter gibt, lassen Sie es mich bitte wissen.
Antworten:
Sie können den DirectoryIterator verwenden . Beispiel aus dem PHP-Handbuch:
quelle
dirname()
obige Funktion den übergeordneten Ordner des dort angegebenen Pfads abruft. In meinem Fall habe ich angenommen, dass dirname ein Wrapper für den Verzeichnisnamen / -pfad ist, sodass er nicht benötigt wird./home/examples/banana.jpg
verwenden müssen$fileinfo->getPathname()
Wenn Sie keinen Zugriff auf die DirectoryIterator-Klasse haben, versuchen Sie Folgendes:
quelle
Verwenden Sie die
scandir()
Funktion:quelle
Sie können auch nutzen
FilesystemIterator
. Es benötigt dann noch weniger CodeDirectoryIterator
und entfernt.
und automatisch..
.Link: http://php.net/manual/en/class.filesystemiterator.php
quelle
Mit diesem Code können Sie ein Verzeichnis rekursiv durchlaufen :
quelle
glob () enthält Bestimmungen zum Sortieren und Abgleichen von Mustern. Da der Rückgabewert ein Array ist, können Sie fast alles andere tun, was Sie benötigen.
quelle
Der Vollständigkeit halber (da dies eine stark frequentierte Seite zu sein scheint) sollten wir die gute alte
dir()
Funktion nicht vergessen :quelle