Перейти к основному содержанию

Finder - поиск файлов

Компонент для поиска файлов и каталогов

Установка:

 composer require symfony/finder

Примеры использования:

1) Получение пути к файлу

use Symfony\Component\Finder\Finder;

$finder = new Finder();
$finder->files()->in(__DIR__);

foreach ($finder as $file) {
    // Абсолютный путь
    dump($file->getRealPath());

    // Относительный путь к файлу, без указания имени файла
   dump($file->getRelativePath());

    // Относительный путь к файлу
    dump($file->getRelativePathname());
}

2) Ограничения по имени и содержанию

// Найти все php файлы
$finder->files()->name('*.php');

// Найти файлы содержащие текст
$finder->files()->contains('lorem ipsum');

// Исключить файлы
$finder->files()->notName('*.rb');

// Исключить файлы содержащие текст
$finder->files()->notContains('dolor sit amet');

Дополнительно возможны поиск и ограничения по пути, размеру, дате изменения, уровню вложенности.

https://symfony.ru/doc/current/components/finder.html