PHP
SPL/Iterators

RecursiveDirectoryIterator::__construct

RecursiveDirectoryIterator::__construct

(PHP 5 >= 5.1.2, PHP 7)

RecursiveDirectoryIterator::__construct — Constructs a RecursiveDirectoryIterator

Description

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

Constructs a RecursiveDirectoryIterator() for the provided path.

Parameters

path

The path of the directory to be iterated over.

flags

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

Return Values

Returns the newly created RecursiveDirectoryIterator.

Errors/Exceptions

Throws an UnexpectedValueException if the path cannot be found or is not a directory.

Examples

Example #1 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.xml

See Also

  • FilesystemIterator::__construct() - Constructs a new filesystem iterator

  • RecursiveIteratorIterator::__construct() - Construct a RecursiveIteratorIterator

  • FilesystemIterator predefined constants

← RecursiveDirectoryIterator

RecursiveDirectoryIterator::getChildren →

© 1997–2017 The PHP Documentation Group

Licensed under the Creative Commons Attribution License v3.0 or later.

https://secure.php.net/manual/en/recursivedirectoryiterator.construct.php