# La classe RecursiveDirectoryIterator

(PHP 5, PHP 7)

## Introduction

La classe RecursiveDirectoryIterator fournit un moyen d'itérer récursivement sur des dossiers d'un système de fichiers.

## Synopsis de la classe

RecursiveDirectoryIterator extends FileSystemIterator implements SeekableIterator , RecursiveIterator {
/* Constants héritées */
const integer FilesystemIterator::CURRENT_AS_PATHNAME = 32 ;
const integer FilesystemIterator::CURRENT_AS_FILEINFO = 0 ;
const integer FilesystemIterator::CURRENT_AS_SELF = 16 ;
const integer FilesystemIterator::CURRENT_MODE_MASK = 240 ;
const integer FilesystemIterator::KEY_AS_PATHNAME = 0 ;
const integer FilesystemIterator::KEY_AS_FILENAME = 256 ;
const integer FilesystemIterator::FOLLOW_SYMLINKS = 512 ;
const integer FilesystemIterator::KEY_MODE_MASK = 3840 ;
const integer FilesystemIterator::NEW_CURRENT_AND_KEY = 256 ;
const integer FilesystemIterator::SKIP_DOTS = 4096 ;
const integer FilesystemIterator::UNIX_PATHS = 8192 ;
/* Méthodes */
public __construct ( string `$path` [, int `$flags` = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO ] )
public getChildren ( void ) : mixed
public getSubPath ( void ) : string
public getSubPathname ( void ) : string
public hasChildren ([ bool `$allow_links` = `FALSE` ] ) : bool
public key ( void ) : string
public next ( void ) : void
public rewind ( void ) : void
/* Méthodes héritées */
public FilesystemIterator::__construct ( string `$path` [, int `$flags` = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS ] )
public FilesystemIterator::current ( void ) : mixed
public FilesystemIterator::getFlags ( void ) : int
public FilesystemIterator::key ( void ) : string
public FilesystemIterator::next ( void ) : void
public FilesystemIterator::rewind ( void ) : void
public FilesystemIterator::setFlags ([ int `$flags` ] ) : void
}

## Historique

Version | Description
--- | ---
5.3.0 | FilesystemIterator devient la classe parente. Avant, la classe mère était DirectoryIterator.
5.3.0 | Implémente SeekableIterator.
5.2.11, 5.3.1 | Ajout de `RecursiveDirectoryIterator::FOLLOW_SYMLINKS`

## Sommaire

- RecursiveDirectoryIterator::__construct — Construit un objet RecursiveDirectoryIterator
- RecursiveDirectoryIterator::getChildren — Retourne un itérateur pour l'entrée courante si c'est un dossier
- RecursiveDirectoryIterator::getSubPath — Récupère le sous-chemin
- RecursiveDirectoryIterator::getSubPathname — Récupère le sous-chemin et le nom du fichier
- RecursiveDirectoryIterator::hasChildren — Vérifie si l'entrée courante est un dossier et n'est pas '.' ou '..'
- RecursiveDirectoryIterator::key — Retourne le chemin et le nom de l'entrée courante du dossier
- RecursiveDirectoryIterator::next — Se déplace vers la prochaine entrée
- RecursiveDirectoryIterator::rewind — Revient à la position initiale dans le dossier