Funktion readdir
Die Funktion readdir liest den Inhalt des Verzeichnisses, das mit opendir geöffnet wurde. Bei jedem Aufruf gibt sie den Namen der nächsten Datei zurück oder false, wenn keine Dateien mehr vorhanden sind. Die Funktion speichert den internen Positionszeiger im Verzeichnis.
Syntax
readdir(resource $dir_handle): string|false
Beispiel
Lesen aller Dateien in einem Verzeichnis:
<?php
$dir = opendir('/path/to/directory');
while (($file = readdir($dir)) !== false) {
echo $file . '<br>';
}
closedir($dir);
?>
Ergebnis der Codeausführung (Beispielausgabe):
"file1.txt"
"file2.jpg"
"subdirectory"
Beispiel
Filtern der speziellen Einträge '.' und '..':
<?php
$dir = opendir('.');
while (($file = readdir($dir)) !== false) {
if ($file != '.' && $file != '..') {
echo $file . '<br>';
}
}
closedir($dir);
?>
Ergebnis der Codeausführung (gibt nur echte Dateien und Unterverzeichnisse aus):
'index.php'
'styles.css'
'images'
Beispiel
Sammeln aller Dateien in einem Array:
<?php
$files = [];
if ($handle = opendir('/path/to/dir')) {
while (false !== ($entry = readdir($handle))) {
if ($entry != '.' && $entry != '..') {
$files[] = $entry;
}
}
closedir($handle);
}
print_r($files);
?>
Ergebnis der Codeausführung:
Array
(
[0] => "document.pdf"
[1] => "image.png"
[2] => "data.json"
)