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