opendir

(PHP 4, PHP 5, PHP 7, PHP 8)

opendirОткрывает дескриптор каталога

Описание

opendir(string $directory, ?resource $context = null): resource|false

Функция открывает дескриптор каталога, который затем передают как аргумент в функции closedir(), readdir() и rewinddir().

Список параметров

directory
Путь к каталогу, который требуется открыть.
context
Параметр context описывается в разделе руководства «Потоки».

Возвращаемые значения

Функция возвращает дескриптор каталога в случае успешного выполнения или 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

Смотрите также

  • readdir() - Получает элемент каталога по его дескриптору
  • rewinddir() - Сбросить дескриптор каталога
  • closedir() - Закрывает дескриптор каталога
  • dir() - Возвращает экземпляр класса Directory
  • is_dir() - Определяет, указывает ли путь на каталог
  • glob() - Находит файловые пути, которые совпадают с шаблоном
  • scandir() - Получает список файлов и каталогов, расположенных по указанному пути