# La clase FilesystemIterator

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

## Introducción

El iterador Filesystem

## Sinopsis de la Clase

class FilesystemIterator extends DirectoryIterator implements SeekableIterator {
/* Constantes */
const integer CURRENT_AS_PATHNAME = 32;
const integer CURRENT_AS_FILEINFO = 0;
const integer CURRENT_AS_SELF = 16;
const integer CURRENT_MODE_MASK = 240;
const integer KEY_AS_PATHNAME = 0;
const integer KEY_AS_FILENAME = 256;
const integer FOLLOW_SYMLINKS = 512;
const integer KEY_MODE_MASK = 3840;
const integer NEW_CURRENT_AND_KEY = 256;
const integer SKIP_DOTS = 4096;
const integer UNIX_PATHS = 8192;
/* Métodos */
public __construct(string `$path`, int `$flags` = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS)
public current(): mixed
public getFlags(): int
public key(): string
public next(): void
public rewind(): void
public setFlags(int `$flags` = ?): void
/* Métodos heredados */
public DirectoryIterator::current(): mixed
public DirectoryIterator::getBasename(string `$suffix` = ""): string
public DirectoryIterator::getExtension(): string
public DirectoryIterator::getFilename(): string
public DirectoryIterator::isDot(): bool
public DirectoryIterator::key(): mixed
public DirectoryIterator::next(): void
public DirectoryIterator::rewind(): void
public DirectoryIterator::seek(int `$offset`): void
public DirectoryIterator::__toString(): string
public DirectoryIterator::valid(): bool
}

## Constantes predefinidas

`FilesystemIterator::CURRENT_AS_PATHNAME`

  Hace que FilesystemIterator::current() devuelva el nombre de la ruta.

`FilesystemIterator::CURRENT_AS_FILEINFO`

  Hace que FilesystemIterator::current() devuelva una instancia de SplFileInfo .

`FilesystemIterator::CURRENT_AS_SELF`

  Hace que FilesystemIterator::current() devuelva $this (el objeto FilesystemIterator).

`FilesystemIterator::CURRENT_MODE_MASK`

  Enmascara FilesystemIterator::current()

`FilesystemIterator::KEY_AS_PATHNAME`

  Hace que FilesystemIterator::key() devuelva el nombre de la ruta.

`FilesystemIterator::KEY_AS_FILENAME`

  Hace que FilesystemIterator::key() devuelva el nombre de fichero.

`FilesystemIterator::FOLLOW_SYMLINKS`

  Hace que RecursiveDirectoryIterator::hasChildren() siga enlaces simbólicos.

`FilesystemIterator::KEY_MODE_MASK`

  Enmascara FilesystemIterator::key()

`FilesystemIterator::NEW_CURRENT_AND_KEY`

  Igual que `FilesystemIterator::KEY_AS_FILENAME | FilesystemIterator::CURRENT_AS_FILEINFO`.

`FilesystemIterator::SKIP_DOTS`

  Ignora los ficheros punto (`.` y `..`).

`FilesystemIterator::UNIX_PATHS`

  Hace que las rutas usen la barra hacia adelante del estilo Unix independientemente de la predeterminada del sistema. Observe que la ruta `path` pasada al constructor no se modifica.

## Historial de cambios

Versión | Descripción
--- | ---
5.3.1 | Añadido `FilesystemIterator::FOLLOW_SYMLINKS`

## Tabla de contenidos

- FilesystemIterator::__construct — Construye un nuevo iterador filesystem
- FilesystemIterator::current — El fichero actual
- FilesystemIterator::getFlags — Obtiene el manejo de flags
- FilesystemIterator::key — Recupera la clave del fichero actual
- FilesystemIterator::next — Moverse al siguiente fichero
- FilesystemIterator::rewind — Rebobina hasta volver al inicio
- FilesystemIterator::setFlags — Establece las flags de manejo