English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основные курсы PHP

Дополнительные курсы PHP

PHP и MySQL

Руководство по PHP

Примеры использования функции readdir() в PHP

PHP Директория справочника

Функция 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);
}
?>

PHP Директория справочника