(PHP 4, PHP 5, PHP 7, PHP 8)
readdir — Получает элемент каталога по его дескриптору
Возвращает имя следующего по порядку элемента каталога. Элементы возвращаются в том порядке, в котором они хранятся в файловой системе.
Возвращает имя элемента каталога в случае успешного выполнения или false
, если возникла ошибка.
Функция возвращает как логическое значение false
, так и нелогическое значение, которое приводится к false
. Прочитайте раздел «Логический тип», чтобы получить дополнительную информацию. Используйте оператор === для проверки значения, которое возвращает функция.
Версия | Описание |
---|---|
8.0.0 | dir_handle теперь допускает значение null. |
Пример #1 Вывести список всех элементов каталога
Обратите внимание на способ проверки значения, возвращаемого функцией readdir() в приведённом ниже примере. В этом примере осуществляется явная проверка значения на идентичность (выражения идентичны, когда они равны и являются значениями одного типа - за более подробной информацией обратитесь к главе "Операторы сравнения") значению false
, поскольку в ином случае любой элемент каталога, чьё имя может быть преобразовано к false
, остановит цикл (например, элемент с именем "0").
<?php
if ($handle = opendir('/path/to/files')) {
echo "Дескриптор каталога: $handle\n";
echo "Элементы:\n";
while (false !== ($entry = readdir($handle))) {
echo "$entry\n";
}
while ($entry = readdir($handle)) {
echo "$entry\n";
}
closedir($handle);
}
?>
Пример #2 Получить список элементов в текущем каталоге и отбросить элементы с именами .
и ..
<?php
if ($handle = opendir('.')) {
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != "..") {
echo "$entry\n";
}
}
closedir($handle);
}
?>