(PHP 4, PHP 5, PHP 7, PHP 8)
opendir — Открывает дескриптор каталога
Функция открывает дескриптор каталога, который затем передают как аргумент в функции closedir(), readdir() и rewinddir().
directorycontextcontext описывается
в разделе руководства «Потоки».
Функция возвращает дескриптор каталога в случае успешного выполнения или false, если возникла ошибка
При сбое функция генерирует ошибку уровня E_WARNING.
Ошибка возникает, если в параметр directory передали
недопустимый путь к каталогу, каталог невозможно открыть
из-за ограничений прав доступа или из-за ошибок файловой системы.
| Версия | Описание |
|---|---|
| 8.0.0 |
Параметр context теперь допускает значение null.
|
Пример #1
Перечисление всех записей в каталоге, пропуская специальные каталоги
. и ...
Поскольку имена файлов и каталогов могут быть строками, которые PHP считает false
(например, каталог с именем "0"), а функция readdir()
возвращает false после прочтения всех записей в каталоге,
необходимо использовать строгий (===)
оператор сравнения,
чтобы правильно различать запись каталога, имя которое является false
и прочитать все записи каталога.
<?php
if ($handle = opendir('/path/to/files')) {
echo "Записи:\n";
/* Правильная обработка записей в каталоге, которые могут считаться ложными */
while (false !== ($entry = readdir($handle))) {
if ($entry === '.' || $entry === '..') {
continue;
}
echo "$entry\n";
}
closedir($handle);
}
?>Вывод приведённого примера будет похож на:
Записи: base en fr output.md test.php