RecursiveDirectoryIterator::__construct

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

RecursiveDirectoryIterator::__constructConstruye un objeto RecursiveDirectoryIterator

Descripción

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

Construye un objeto RecursiveDirectoryIterator() para el directorio deseado.

Parámetros

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()

Errores/Excepciones

Se lanza una excepción UnexpectedValueException si el directorio no existe.

Se lanza una excepción ValueError si directory es una cadena vacía.

Historial de cambios

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.

Ejemplos

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

Ver también