readdir
(PHP 4, PHP 5, PHP 7)
readdir — Получает элемент каталога по его дескриптору
Описание
$dir_handle
= ?
) : string|falseВозвращает имя следующего по порядку элемента каталога. Элементы возвращаются в том порядке, в котором они хранятся в файловой системе.
Список параметров
Возвращаемые значения
Возвращает имя элемента каталога в случае успеха или false
в случае возникновения ошибки.
Эта функция может возвращать как логическое значение false
, так и значение не типа boolean, которое приводится к false
. За более подробной информацией обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.
Примеры
Пример #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);
}
?>