# RecursiveDirectoryIterator::__construct

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

RecursiveDirectoryIterator::__construct — Construit un objet RecursiveDirectoryIterator

### Description

public RecursiveDirectoryIterator::__construct(string `$directory`, int `$flags` = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO)

Construit un objet RecursiveDirectoryIterator() concernant le dossier souhaité.

### Liste de paramètres

`directory`

  Chemin du dossier sur lequel itérer.

`flags`

  Drapeaux à passer pour changer le comportement de l'itérateur. Une liste de drapeaux peut être trouvée dans la liste des constantes de FilesystemIterator. Elles peuvent aussi être renseignées plus tard au moyen de FilesystemIterator::setFlags()

### Erreurs / Exceptions

Lance une exception UnexpectedValueException si le répertoire n'existe pas.

Lance une exception ValueError si `directory` est une chaîne vide.

### Historique

Version | Description
--- | ---
8.0.0 | Lance désormais une exception ValueError quand `directory` est une chaîne vide ; Auparavant, une RuntimeException était lancée.

### Exemples

Exemple #1 Exemple avec 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();
}
?>`

Résultat de l'exemple ci-dessus est similaire à :

    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

### Voir aussi

- FilesystemIterator::__construct() - Construit un objet FilesystemIterator
- RecursiveIteratorIterator::__construct() - Construit un objet RecursiveIteratorIterator
- Constantes de FilesystemIterator