(PHP 5, PHP 7)
scandir — Listet Dateien und Verzeichnisse innerhalb eines angegebenen Pfades auf
$directory
[, int $sorting_order
= SCANDIR_SORT_ASCENDING
[, resource $context
]] )
Gibt ein Array aus Dateien und Verzeichnissen des aktuellen
directory
wieder.
directory
Das zu untersuchende Verzeichnis.
sorting_order
Standardmäßig ist die Sortierreihenfolge alphabetisch in aufsteigender
Reihenfolge. Wenn der optionale Parameter sorting_order
auf SCANDIR_SORT_DESCENDING
gesetzt wird, ist die Sortierreihenfolge
alphabetisch absteigend. Wenn er auf SCANDIR_SORT_NONE
gesetzt wird,
ist das Ergebnis unsortiert.
context
Für die Beschreibung des context
-Parameters
konsultieren Sie bitte das Kapitel Streams
des Manuals.
Gibt bei Erfolg ein Array von Dateinamen zurück, im Fehlerfall
FALSE
. Wenn directory
kein Verzeichnis ist, wird
der boolsche Wert FALSE
zurück gegeben und ein Fehler vom Type
E_WARNING
erzeugt.
Version | Beschreibung |
---|---|
5.4.0 |
sorting_order
Konstanten wurden hinzugefügt.
Jeder Wert ungleich 0 bewirkte absteigende Reihenfolge in vorherigen
Versionen. Also verwenden Sie 0 für aufsteigende
und 1 für absteigende Reihenfolge für alle PHP
Versionen. Eine Möglichkeit für das
SCANDIR_SORT_NONE
Verhalten gab es vor PHP 5.4.0 nicht.
|
Beispiel #1 Ein einfaches scandir()-Beispiel
<?php
$dir = '/tmp';
$files1 = scandir($dir);
$files2 = scandir($dir, 1);
print_r($files1);
print_r($files2);
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
Array ( [0] => . [1] => .. [2] => bar.php [3] => foo.txt [4] => somedir ) Array ( [0] => somedir [1] => foo.txt [2] => bar.php [3] => .. [4] => . )
Beispiel #2 PHP 4-Alternativen zu scandir()
<?php
$dir = "/tmp";
$dh = opendir($dir);
while (false !== ($filename = readdir($dh))) {
$files[] = $filename;
}
sort($files);
print_r($files);
rsort($files);
print_r($files);
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
Array ( [0] => . [1] => .. [2] => bar.php [3] => foo.txt [4] => somedir ) Array ( [0] => somedir [1] => foo.txt [2] => bar.php [3] => .. [4] => . )
Mit dieser Funktion können Sie eine URL als Dateinamen verwenden, falls Sie fopen wrappers ermöglicht haben. Mehr Details dazu, wie Sie den Dateinamen angeben müssen finden Sie bei fopen(). Eine Liste der unterstützten URL Protokolle, die Fähigkeiten der verschiedenen Wrapper, Hinweise zu deren Verwendung und Informationen zu den eventuell vorhandenen vordefinierten Variablen finden Sie unter Unterstützte Protokolle und Wrapper.