RecursiveDirectoryIterator::__construct

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

RecursiveDirectoryIterator::__constructКонструктор класса RecursiveDirectoryIterator

Описание

public RecursiveDirectoryIterator::__construct(string $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

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