Bez popisu

sunhao fe08a6fbcc 初始 %!s(int64=5) %!d(string=před) roky
..
Adapter fe08a6fbcc 初始 %!s(int64=5) %!d(string=před) roky
Comparator fe08a6fbcc 初始 %!s(int64=5) %!d(string=před) roky
Exception fe08a6fbcc 初始 %!s(int64=5) %!d(string=před) roky
Expression fe08a6fbcc 初始 %!s(int64=5) %!d(string=před) roky
Iterator fe08a6fbcc 初始 %!s(int64=5) %!d(string=před) roky
Shell fe08a6fbcc 初始 %!s(int64=5) %!d(string=před) roky
Tests fe08a6fbcc 初始 %!s(int64=5) %!d(string=před) roky
.gitignore fe08a6fbcc 初始 %!s(int64=5) %!d(string=před) roky
CHANGELOG.md fe08a6fbcc 初始 %!s(int64=5) %!d(string=před) roky
Finder.php fe08a6fbcc 初始 %!s(int64=5) %!d(string=před) roky
Glob.php fe08a6fbcc 初始 %!s(int64=5) %!d(string=před) roky
LICENSE fe08a6fbcc 初始 %!s(int64=5) %!d(string=před) roky
README.md fe08a6fbcc 初始 %!s(int64=5) %!d(string=před) roky
SplFileInfo.php fe08a6fbcc 初始 %!s(int64=5) %!d(string=před) roky
composer.json fe08a6fbcc 初始 %!s(int64=5) %!d(string=před) roky
phpunit.xml.dist fe08a6fbcc 初始 %!s(int64=5) %!d(string=před) roky

README.md

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. Besides the build-in methods inherited from \SplFileInfo (getPerms(), getSize(), ...), you can also use getRelativePath() and getRelativePathname(). Read the official documentation 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.phar install
$ phpunit