This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
symfony/src/Symfony/Component/Finder
Fabien Potencier 05b2c4eec0 Merge branch '2.5'
* 2.5:
  Remove Spaceless Blocks From Twig Templates
  Validate locales sets intos translator
  [Console] Remove estimated field from debug_nomax
  Fix UserPassword validator translation
  Remove Spaceless Blocks from Twig Form Templates
  [Validator] remove wrong deprecation message
  fixed typo
  [HttpFoundation] Fix to prevent magic bytes injection in JSONP responses (Prevents CVE-2014-4671)
  added regression test
  fix issue #8171 on configuration tree for twig extension -- pairing up with @cordoval
  [HttpFoundation] Fix wrong assertion in Response test
  [Upgrade] Fixed markdown syntax
  [2.3][Form] Cleanup & fix phpdocs
  Added verbosity methods
2014-07-15 16:15:21 +02:00
..
Adapter Added missing break statement 2014-06-20 18:06:33 +02:00
Comparator fixed types in phpdocs 2014-04-16 12:30:19 +02:00
Exception Merge branch '2.2' 2013-04-22 06:30:07 +02:00
Expression () is also a valid delimiter 2014-02-20 16:15:12 +01:00
Iterator Merge branch '2.4' 2014-05-22 15:47:45 +02:00
Shell Merge branch '2.3' into 2.4 2014-04-16 10:02:57 +02:00
Tests Merge branch '2.4' into 2.5 2014-07-15 16:15:12 +02:00
.gitignore Added missing files .gitignore 2013-07-21 14:12:18 +02:00
CHANGELOG.md [Finder] Included GLOB_BRACE support in the CHANGELOG. 2014-01-01 15:45:37 +00:00
composer.json updated version to 2.6 2014-05-23 16:36:49 +02:00
Finder.php Merge branch '2.4' 2014-05-12 11:28:39 +02:00
Glob.php made phpdoc types consistent with those defined in Hack 2014-04-15 07:41:45 +02:00
LICENSE update year on licenses 2014-01-07 08:19:25 -05:00
phpunit.xml.dist removed defaults from PHPUnit configuration 2014-07-07 12:13:42 +02:00
README.md updated the composer install command to reflect changes in Composer 2013-09-18 09:27:26 +02:00
SplFileInfo.php [Finder] Fix SplFileInfo::getContents isn't working with ssh2 protocol 2013-06-10 20:35:46 +02:00

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