PHP Classes

File: vendor/symfony/symfony/src/Symfony/Component/Finder/README.md

Recommend this page to a friend!
  Classes of Murat Cileli   Papernic   vendor/symfony/symfony/src/Symfony/Component/Finder/README.md   Download  
File: vendor/symfony/symfony/src/Symfony/Component/Finder/README.md
Role: Documentation
Content type: text/markdown
Description: Documentation
Class: Papernic
Manage documents colaboratively
Author: By
Last change:
Date: 7 years ago
Size: 1,393 bytes
 

Contents

Class file image Download

Finder Component

Finder finds files and directories via an intuitive fluent interface.

use Symfony\Component\Finder\Finder;

$finder = new Finder();

$iterator = $finder
  ->files()
  ->name('*.php')
  ->depth(0)
  ->size('>= 1K')
  ->in(__DIR__);

foreach ($iterator as $file) {
    print $file->getRealpath()."\n";
}

The iterator returns instances of [Symfony\Component\Finder\SplFileInfo\SplFileInfo][1]. Besides the build-in methods inherited from [\SplFileInfo]2,getSize()`, ...), you can also use getRelativePath() and getRelativePathname(). Read the [official documentation][3] for more information.

But you can also use it to find files stored remotely like in this example where we are looking for files on Amazon S3:

$s3 = new \Zend_Service_Amazon_S3($key, $secret);
$s3->registerStreamWrapper("s3");

$finder = new Finder();
$finder->name('photos*')->size('< 100K')->date('since 1 hour ago');
foreach ($finder->in('s3://bucket-name') as $file) {
    print $file->getFilename()."\n";
}

Resources

You can run the unit tests with the following command:

$ cd path/to/Symfony/Component/Finder/
$ composer install
$ phpunit

[1]: http://api.symfony.com/2.5/Symfony/Component/Finder/SplFileInfo.html [2]: http://php.net/splfileinfo [3]: https://symfony.com/doc/current/components/finder.html#usage