PHP 5.4.33 Released

La clase FilesystemIterator

(PHP 5 >= 5.3.0)

Introducción

El iterador Filesystem

Sinopsis de la Clase

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 mixed current ( void )
public int getFlags ( void )
public string key ( void )
public void next ( void )
public void rewind ( void )
public void setFlags ([ int $flags ] )
/* Métodos heredados */
public DirectoryIterator DirectoryIterator::current ( void )
public int DirectoryIterator::getATime ( void )
public string DirectoryIterator::getBasename ([ string $suffix ] )
public int DirectoryIterator::getCTime ( void )
public string DirectoryIterator::getExtension ( void )
public string DirectoryIterator::getFilename ( void )
public int DirectoryIterator::getGroup ( void )
public int DirectoryIterator::getInode ( void )
public int DirectoryIterator::getMTime ( void )
public int DirectoryIterator::getOwner ( void )
public string DirectoryIterator::getPath ( void )
public string DirectoryIterator::getPathname ( void )
public int DirectoryIterator::getPerms ( void )
public int DirectoryIterator::getSize ( void )
public string DirectoryIterator::getType ( void )
public bool DirectoryIterator::isDir ( void )
public bool DirectoryIterator::isDot ( void )
public bool DirectoryIterator::isExecutable ( void )
public bool DirectoryIterator::isFile ( void )
public bool DirectoryIterator::isLink ( void )
public bool DirectoryIterator::isReadable ( void )
public bool DirectoryIterator::isWritable ( void )
public string DirectoryIterator::key ( void )
public void DirectoryIterator::next ( void )
public void DirectoryIterator::rewind ( void )
public void DirectoryIterator::seek ( int $position )
public string DirectoryIterator::__toString ( void )
public bool DirectoryIterator::valid ( void )
}

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 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.

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 al estilo Unix independientemente del usado de forma predeterminada por el sistema.

Historial de cambios

Versión Descripción
5.3.1 Añadido FilesystemIterator::FOLLOW_SYMLINKS

Tabla de contenidos

add a note add a note

User Contributed Notes 1 note

up
3
paul at paulgarvin dot net
4 months ago
You may be wondering, like I did, what is the difference between this class and DirectoryIterator?

When you iteterate using DirectoryIterator each "value" returned is the same DirectoryIterator object. The internal state is changed so when you call isDir(), getPathname(), etc the correct information is returned. If you were to ask for a key when iterating you will get an integer index value.

FilesystemIterator (and RecursiveDirectoryIterator) on the other hand returns a new, different SplFileInfo object for each iteration step. The key is the full pathname of the file. This is by default. You can change what is returned for the key or value using the "flags" arguement to the constructor.
To Top