(PHP 5 >= 5.1.2, PHP 7, PHP 8)
RecursiveDirectoryIterator::__construct — Construit un objet RecursiveDirectoryIterator
$directory
, int $flags
= FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO)Construit un objet RecursiveDirectoryIterator() concernant le dossier souhaité.
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()
Lance une exception UnexpectedValueException si le répertoire n'existe pas.
Lance une exception ValueError
si directory
est une chaîne vide.
Version | Description |
---|---|
8.0.0 |
Lance désormais une exception ValueError
quand directory est une chaîne vide ;
Auparavant, une RuntimeException était lancée.
|
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