Функция readdir
Функцията readdir чете съдържанието на директория, отворена с помощта на opendir. При всяко извикване връща името на следващия файл или false, ако няма повече файлове. Функцията запазва вътрешен указател на позицията в директорията.
Синтаксис
readdir(resource $dir_handle): string|false
Пример
Четене на всички файлове в директория:
<?php
$dir = opendir('/path/to/directory');
while (($file = readdir($dir)) !== false) {
echo $file . '<br>';
}
closedir($dir);
?>
Резултат от изпълнението на кода (пример за изход):
"file1.txt"
"file2.jpg"
"subdirectory"
Пример
Филтриране на специалните записи '.' и '..':
<?php
$dir = opendir('.');
while (($file = readdir($dir)) !== false) {
if ($file != '.' && $file != '..') {
echo $file . '<br>';
}
}
closedir($dir);
?>
Резултат от изпълнението на кода (извежда само реални файлове и поддиректории):
'index.php'
'styles.css'
'images'
Пример
Събиране на всички файлове в масив:
<?php
$files = [];
if ($handle = opendir('/path/to/dir')) {
while (false !== ($entry = readdir($handle))) {
if ($entry != '.' && $entry != '..') {
$files[] = $entry;
}
}
closedir($handle);
}
print_r($files);
?>
Резултат от изпълнението на кода:
Array
(
[0] => "document.pdf"
[1] => "image.png"
[2] => "data.json"
)