(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.
  
directoryDas 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.