Описание
string
readdir ( resource dir_handle )
Возвращает имя следующего по порядку элемента каталога. Имена
элементов возвращаются в порядке, зависящем от файловой
системы.
Обратите внимание на способ проверки значения, возвращаемого
функцией readdir() в приведенном ниже
примере. В этом примере осуществляется проверка значения
на идентичность (выражения идентичны, когда они равны и являются
значениями одного типа - за более подробной информацией
обратитесь к главе
Операторы сравнения) значению FALSE, поскольку
в ином случае, любой элемент каталога, чье имя может быть
выражено как FALSE, остановит цикл (например, элемент с
именем "0").
Пример 1. Вывести список всех файлов в каталоге
<?php // Обратите внимание, что оператор !== не существовал до версии 4.0.0-RC2
if ($handle = opendir('/path/to/files')) { echo "Дескриптор каталога: $handle\n"; echo "Файлы:\n";
/* Именно этот способ чтения элементов каталога является правильным. */ while (false !== ($file = readdir($handle))) { echo "$file\n"; }
/* Этот способ НЕВЕРЕН. */ while ($file = readdir($handle)) { echo "$file\n"; }
closedir($handle); } ?>
|
|
Обратите внимание, что функция readdir() также возвращает
элементы с именами . и ...
Если вы не хотите получать эти значения, просто отбрасывайте их:
Пример 2.
Получить список файлов в текущем каталоге и отбросить элементы
с именами . и ..
<?php if ($handle = opendir('.')) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { echo "$file\n"; } } closedir($handle); } ?>
|
|
См.также описания функций is_dir() и
glob().