Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

recursivecallbackfilteriterator(3) [php man page]

RECURSIVECALLBACKFILTERITERATOR(3)					 1					RECURSIVECALLBACKFILTERITERATOR(3)

The RecursiveCallbackFilterIterator class

INTRODUCTION
CLASS SYNOPSIS
RecursiveCallbackFilterIterator RecursiveCallbackFilterIteratorextends CallbackFilterIteratorOuterIteratorRecursiveIterator Methods o public RecursiveCallbackFilterIterator::__construct (RecursiveIterator $iterator, string $callback) o public RecursiveCallbackFilterIterator RecursiveCallbackFilterIterator::getChildren (void ) o public void RecursiveCallbackFilterIterator::hasChildren (void ) Inherited methods o public string CallbackFilterIterator::accept (void ) EXAMPLES
The callback should accept up to three arguments: the current item, the current key and the iterator, respectively. Example #1 Available callback arguments <?php /** * Callback for RecursiveCallbackFilterIterator * * @param $current Current item's value * @param $key Current item's key * @param $iterator Iterator being filtered * @return boolean TRUE to accept the current item, FALSE otherwise */ function my_callback($current, $key, $iterator) { // Your filtering code here } ?> Filtering a recursive iterator generally involves two conditions. The first is that, to allow recursion, the callback function should return TRUE if the current iterator item has children. The second is the normal filter condition, such as a file size or extension check as in the example below. Example #2 Recursive callback basic example <?php $dir = new RecursiveDirectoryIterator(__DIR__); // Filter large files ( > 100MB) $files = new RecursiveCallbackFilterIterator($dir, function ($current, $key, $iterator) { // Allow recursion if ($iterator->hasChildren()) { return TRUE; } // Check for large file if ($current->isFile() && $current->getSize() > 104857600) { return TRUE; } return FALSE; }); foreach (new RecursiveIteratorIterator($files) as $file) { echo $file->getPathname() . PHP_EOL; } ?> PHP Documentation Group RECURSIVECALLBACKFILTERITERATOR(3)

Check Out this Related Man Page

FILESYSTEMITERATOR(3)							 1						     FILESYSTEMITERATOR(3)

The FilesystemIterator class

INTRODUCTION
The Filesystem iterator CLASS SYNOPSIS
FilesystemIterator FilesystemIteratorextends DirectoryIteratorSeekableIterator Constants o const integer$FilesystemIterator::CURRENT_AS_PATHNAME32 o const integer$FilesystemIterator::CURRENT_AS_FILEINFO0 o const integer$FilesystemIterator::CURRENT_AS_SELF16 o const integer$FilesystemIterator::CURRENT_MODE_MASK240 o const integer$FilesystemIterator::KEY_AS_PATHNAME0 o const integer$FilesystemIterator::KEY_AS_FILENAME256 o const integer$FilesystemIterator::FOLLOW_SYMLINKS512 o const integer$FilesystemIterator::KEY_MODE_MASK3840 o const integer$FilesystemIterator::NEW_CURRENT_AND_KEY256 o const integer$FilesystemIterator::SKIP_DOTS4096 o const integer$FilesystemIterator::UNIX_PATHS8192 Methods o public FilesystemIterator::__construct (string $path, [int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CUR- RENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS]) o public mixed FilesystemIterator::current (void ) o public int FilesystemIterator::getFlags (void ) o public string FilesystemIterator::key (void ) o public void FilesystemIterator::next (void ) o public void FilesystemIterator::rewind (void ) o public void FilesystemIterator::setFlags ([int $flags]) Inherited methods o public DirectoryIterator DirectoryIterator::current (void ) o public int DirectoryIterator::getATime (void ) o public string DirectoryIterator::getBasename ([string $suffix]) o public int DirectoryIterator::getCTime (void ) o public string DirectoryIterator::getExtension (void ) o public string DirectoryIterator::getFilename (void ) o public int DirectoryIterator::getGroup (void ) o public int DirectoryIterator::getInode (void ) o public int DirectoryIterator::getMTime (void ) o public int DirectoryIterator::getOwner (void ) o public string DirectoryIterator::getPath (void ) o public string DirectoryIterator::getPathname (void ) o public int DirectoryIterator::getPerms (void ) o public int DirectoryIterator::getSize (void ) o public string DirectoryIterator::getType (void ) o public bool DirectoryIterator::isDir (void ) o public bool DirectoryIterator::isDot (void ) o public bool DirectoryIterator::isExecutable (void ) o public bool DirectoryIterator::isFile (void ) o public bool DirectoryIterator::isLink (void ) o public bool DirectoryIterator::isReadable (void ) o public bool DirectoryIterator::isWritable (void ) o public string DirectoryIterator::key (void ) o public void DirectoryIterator::next (void ) o public void DirectoryIterator::rewind (void ) o public void DirectoryIterator::seek (int $position) o public string DirectoryIterator::__toString (void ) o public bool DirectoryIterator::valid (void ) PREDEFINED CONSTANTS
o FilesystemIterator::CURRENT_AS_PATHNAME -Makes FilesystemIterator::current return the pathname. o FilesystemIterator::CURRENT_AS_FILEINFO -Makes FilesystemIterator::current return an SplFileInfo instance. o FilesystemIterator::CURRENT_AS_SELF -Makes FilesystemIterator::current return $this (the FilesystemIterator). o FilesystemIterator::CURRENT_MODE_MASK -Masks FilesystemIterator::current o FilesystemIterator::KEY_AS_PATHNAME -Makes FilesystemIterator::key return the pathname. o FilesystemIterator::KEY_AS_FILENAME -Makes FilesystemIterator::key return the filename. o FilesystemIterator::FOLLOW_SYMLINKS -Makes RecursiveDirectoryIterator::hasChildren follow symlinks. o FilesystemIterator::KEY_MODE_MASK -Masks FilesystemIterator::key o FilesystemIterator::NEW_CURRENT_AND_KEY -Same as FilesystemIterator::KEY_AS_FILENAME | FilesystemIterator::CURRENT_AS_FILEINFO. o FilesystemIterator::SKIP_DOTS -Skips dot files ( . and ..). o FilesystemIterator::UNIX_PATHS -Makes paths use Unix-style forward slash irrespective of system default. CHANGELOG
+--------+-------------------------------------------+ |Version | | | | | | | Description | | | | +--------+-------------------------------------------+ | 5.3.1 | | | | | | | Added FilesystemIterator::FOLLOW_SYMLINKS | | | | +--------+-------------------------------------------+ PHP Documentation Group FILESYSTEMITERATOR(3)
Man Page