English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Функция readdir() читает записи из директории из хендла каталога
string readdir ( resource $dir_handle );
Оно возвращает имя следующего файла в каталоге. Имена файлов возвращаются в порядке, в котором они хранятся в файловой системе.
Номер | Параметры и описание |
---|---|
1 | dir_handle(обязателен) Ресурс 目录句柄, ранее открытый функцией opendir() |
Успешно возвращается имя файла, в случае ошибки возвращается FALSE.
Внимание: эта функция может возвращать логическое FALSE, но также может возвращать значение, эквивалентное FALSE. Прочитайте раздел о типе boolean для получения дополнительной информации. Для проверки возвращаемого значения функции следует использовать оператор ===.
Вот пример использования этой функции: открываем каталог, читаем его содержимое, затем закрываем.
<?php $dir = opendir("/var/www/images"); while (($file = readdir($dir)) !== false) { echo "filename: " . $file . "<br/>"; } closedir($dir); ?>
Результат вывода
filename: . filename: .. filename: logo.gif filename: mohd.gif
Перечислить все файлы в каталоге:
Обратите внимание на стиль проверки возвращаемого значения readdir() в следующем примере. Здесь явно проверяется, равен ли возвращаемый результат FALSE (как значение, так и тип), в противном случае, любая итерация, которая возвращает FALSE, приведет к остановке цикла (например, имя каталога "0").
<?php // В версиях до 4.0.0-RC2 оператор !== не существовал if ($handle = opendir('/path/to/files')) { echo "Directory handle: $handle\n"; echo "Files:\n"; /* Это правильный способ итерации через каталог */ while (false !== ($file = readdir($handle))) { echo "$file\n"; } /* Это ошибка при итерации через каталог */ while ($file = readdir($handle)) { echo "$file\n"; } closedir($handle); } ?>