(PHP 5 >= 5.1.2, PHP 7, PHP 8)
RecursiveDirectoryIterator::__construct — Construye un objeto RecursiveDirectoryIterator
$directory
, int $flags
= FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO)Construye un objeto RecursiveDirectoryIterator() para el directorio deseado.
directory
Ruta del directorio sobre el cual iterar.
flags
Banderas a pasar para modificar el comportamiento del iterador. Una lista de banderas puede encontrarse en la lista de constantes de FilesystemIterator. También pueden ser especificadas más tarde mediante FilesystemIterator::setFlags()
Se lanza una excepción UnexpectedValueException si el directorio no existe.
Se lanza una excepción ValueError
si directory
es una cadena vacía.
Versión | Descripción |
---|---|
8.0.0 |
Ahora se lanza una excepción ValueError
cuando directory es una cadena vacía;
Anteriormente se lanzaba una RuntimeException.
|
Ejemplo #1 Ejemplo con 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();
}
?>
El resultado del ejemplo sería algo similar a:
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