readdir

Добавил: WorldPad, 2012-02-21 19:17:04. Просмотров: 587. Категория: Функции для работы с каталогами

(PHP 3, PHP 4, PHP 5)

readdir -- Получить элемент каталога по его дескриптору.

Описание

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); 
}
?>