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

# RecursiveDirectoryIterator::__construct

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

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

### Описание

public function 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

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

- FilesystemIterator::__construct() - Создаёт новый итератор файловой системы
- RecursiveIteratorIterator::__construct() - Конструктор класса RecursiveIteratorIterator
- Предопределённые константы класса FilesystemIterator

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open