RecursiveDirectoryIterator::__construct
(PHP 5 >= 5.1.2, PHP 7, PHP 8)
Constructs a RecursiveDirectoryIterator
Description
Constructs a RecursiveDirectoryIterator for the provided directory.
Parameters
directoryThe path of the directory to be iterated over.
flagsFlags 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.
Errors/Exceptions
Throws an UnexpectedValueException if the directory does not exist.
Throws a ValueError if the directory is an empty string.
Changelog
| Version | Description |
|---|---|
| 8.0.0 | Now throws a ValueError if directory is an empty string; previously it threw a RuntimeException. |
Examples
RecursiveDirectoryIterator example
<?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();
}
?>The above example will output something similar to:
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.xmlSee Also
FilesystemIterator::__constructRecursiveIteratorIterator::__construct- FilesystemIterator predefined constants