(PHP 5 >= 5.1.2, PHP 7, PHP 8)
RecursiveDirectoryIterator::__construct — Конструктор класса RecursiveDirectoryIterator
$directory
, int $flags
= FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO)
Создаёт новый объект класса RecursiveDirectoryIterator(),
используя заданный путь directory
.
directory
Путь к директории, по которой будет осуществляться навигация.
flags
Можно установить несколько флагов от которых будет зависеть поведение некоторых методов. Список возможных флагов можно найти на странице Предопределённых констант класса FilesystemIterator. Флаги можно задать позднее методом FilesystemIterator::setFlags().
Выбрасывает исключение UnexpectedValueException,
если директория directory
не существует.
Выбрасывает исключение ValueError,
если параметр directory
содержит пустую строку.
Версия | Описание |
---|---|
8.0.0 |
Теперь выбрасывает исключение ValueError,
если параметр directory содержит пустую строку.
ранее выбрасывалось исключение RuntimeException.
|
Пример #1 Пример использования RecursiveDirectoryIterator
<?php
$directory = '/tmp';
$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory));
$it->rewind();
while($it->valid()) {
if (!$it->isDot()) {
echo 'Имя файла: ' . $it->getSubPathName() . "\n";
echo 'Поддиректория: ' . $it->getSubPath() . "\n";
echo 'Ключ: ' . $it->key() . "\n\n";
}
$it->next();
}
?>
Вывод приведённого примера будет похож на:
Имя файла: fruit/apple.xml Поддиректория: fruit Ключ: /tmp/fruit/apple.xml Имя файла: stuff.xml Поддиректория: Ключ: /tmp/stuff.xml Имя файла: veggies/carrot.xml Поддиректория: veggies Ключ: /tmp/veggies/carrot.xml