23286bc512
* 2.4: bumped Symfony version to 2.4.5 updated VERSION for 2.4.4 updated CHANGELOG for 2.4.4 bumped Symfony version to 2.3.14 updated VERSION for 2.3.13 update CONTRIBUTORS for 2.3.13 updated CHANGELOG for 2.3.13 Updated Serbian validation translation [Console] Fixed the rendering of exceptions on HHVM with a terminal width [WebProfilerBundle ] Fixed an edge case on WDT loading [Security] removed $csrfTokenManager type hint from SimpleFormAuthenticationListener constructor argument fixed typo [Process] Disable TTY mode on Windows platform [Validator] added missing ANNOTATION config to @Target annotation [Finder] Fix ignoring of unreadable dirs in the RecursiveDirectoryIterator. Conflicts: src/Symfony/Component/HttpKernel/Kernel.php |
||
---|---|---|
.. | ||
Adapter | ||
Comparator | ||
Exception | ||
Expression | ||
Iterator | ||
Shell | ||
Tests | ||
.gitignore | ||
CHANGELOG.md | ||
composer.json | ||
Finder.php | ||
Glob.php | ||
LICENSE | ||
phpunit.xml.dist | ||
README.md | ||
SplFileInfo.php |
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";
}
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