Функции Язык программирования PHP

readdir

(PHP 3, PHP 4)

readdir - читает вхождение из дескриптора директории.

Описание

string readdir (resource dir_handle)

Возвращает filename следующего файла из данной директории. Имена файлов возвращаются в порядке, в котором они хранятся в файловой системе.

Обратите внимание на способ, которым return -значение функции readdir() проверяется в следующем примере. Мы явным образом проверяем, идентично ли return-значение (равно и того же типа, что и  --  см. Операции сравнения) FALSE, поскольку иначе любое вхождение директории, имя которого вычисляется в FALSE, остановит цикл.

Пример 1. Список всех файлов в директории
// 
Обратите внимание, что !== не существовала до 4.0.0-RC2 <?php 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); } ?>

Заметьте, что readdir() возвратит вхождения . и ... Если это нежелательно, просто вырежьте их:
Пример 2. Список всех файлов в директории с вырезкой . и ..
<?php 
if ($handle = opendir('.')) { while (false !== ($file = readdir($handle))) { if 
($file != "." && $file != "..") { echo "$file\n"; } } closedir($handle); 
} ?>

См. также is_dir().


Назад Оглавление Вперёд
opendir Вверх rewinddir

backslash/обратный слэш

Во-вторых, backslash предоставляет способ кодирования в патэрне непечатаемых символов видимым образом. Ограничений на появление непечатаемых символов нет, за исключением двоичного нуля, который оканчивает патэрн, но если патэрн подготавливается путём редактирования текста, то обычно легче использовать одну из следующих escape-последовательностей (замен), а не бинарный символ, представляемых ими:

\a

alarm/предупреждение, то есть символ BEL (hex 07)

\cx

"control-x", где x это любой символ

\e

escape (hex 1B)

\f

formfeed/прогон страницы (hex 0C)

\n

newline/новая строка (hex 0A)

\r

carriage return/возврат каретки (hex 0D)

\t

tab/табуляция (hex 09)