FilesystemIterator::__construct

Constructs a new filesystem iterator

&reftitle.description; public `FilesystemIterator::__construct` `string` `directory` `int` `flags` FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS

Constructs a new filesystem iterator from the `directory`.

&reftitle.parameters;

`directory`

- The path of the filesystem item to be iterated over.

`flags`

- Flags may be provided which will affect the behavior of some methods. A list of the flags can found under FilesystemIterator predefined constants. They can also be set later with `FilesystemIterator::setFlags`

&reftitle.errors;

Throws an `UnexpectedValueException` if the `directory` does not exist.

Throws a `ValueError` if the `directory` is an empty string.

&reftitle.changelog;

&Version; | &Description;
8.2.0 | Prior to PHP 8.2.0, `FilesystemIterator::SKIP_DOTS` was always set and could not be removed.
8.0.0 | Now throws a `ValueError` if `directory` is an empty string; previously it threw a `RuntimeException`.

&reftitle.examples;

### `FilesystemIterator::__construct` example

    <?php
    $it = new FilesystemIterator(dirname(__FILE__), FilesystemIterator::CURRENT_AS_FILEINFO);
    foreach ($it as $fileinfo) {
        echo $fileinfo->getFilename() . "\n";
    }
    ?>

&example.outputs.82.similar;

    .
    ..
    apples.jpg
    banana.jpg
    example.php

Output of the above example prior to PHP 8.2.0 is similar to:

    apples.jpg
    banana.jpg
    example.php

&reftitle.seealso;

- `FilesystemIterator::setFlags`
- `DirectoryIterator::__construct`