GlobIterator doesn’t have a way to support GLOB_BRACE!
<?php
$iterator = new GlobIterator(getcwd. '/*.{php,txt}'); // generate an empty array
?>(PHP 5 >= 5.3.0, PHP 7, PHP 8)
GlobIterator::__construct — Создаёт итератор директории, используя glob-выражение
$pattern, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO)Создаёт новый итератор директории на основе glob-выражения.
patternШаблон glob().
flagsФлаги настроек. Флаги можно задавать битовой маской констант FilesystemIterator.
   Выбрасывает исключение UnexpectedValueException,
   если директория directory не существует.
  
   Выбрасывает исключение ValueError,
   если параметр directory содержит пустую строку.
  
| Версия | Описание | 
|---|---|
| 8.0.0 | Теперь выбрасывает исключение ValueError,
        если параметр directoryсодержит пустую строку.
        Ранее выбрасывалось исключение RuntimeException. | 
Пример #1 Пример использования GlobIterator
<?php
$iterator = new GlobIterator('*.dll', FilesystemIterator::KEY_AS_FILENAME);
if (!$iterator->count()) {
    echo 'Нет совпадений';
} else {
    $n = 0;
    printf("Найдено элементов: %d \r\n", $iterator->count());
    foreach ($iterator as $item) {
        printf("[%d] %s\r\n", ++$n, $iterator->key());
    }
}
?>Вывод приведённого примера будет похож на:
Найдено элементов: 2 [1] php5ts.dll [2] php_gd2.dll
GlobIterator doesn’t have a way to support GLOB_BRACE!
<?php
$iterator = new GlobIterator(getcwd. '/*.{php,txt}'); // generate an empty array
?>Fix problem with braces in template:
<?php
class GlobStreamWrapper
{
    private $generator;
    protected function createGenerator(array $paths): Generator
    {
        return yield from $paths;
    }
    public function dir_opendir(string $pattern, int $options = 0): bool
    {
        $pattern = substr($pattern, 7); // crop 'glob://' prefix
        $pattern = str_replace(['\\', '/'], DIRECTORY_SEPARATOR, $pattern);
        $paths = (array) glob($pattern, GLOB_BRACE | GLOB_NOSORT);
        $this->generator = $this->createGenerator($paths);
        return $this->generator->valid();
    }
    public function dir_readdir(): string
    {
        $path = $this->generator->current() ?: '';
        $this->generator->next();
        return $path;
    }
    public function dir_rewinddir(): bool
    {
       $this->generator->rewind();
        return $this->generator->valid();
    }
    public function dir_closedir(): bool
    {
        $this->generator = null;
        return true;
    }
}
?>
Replace glob wrapper:
<?php
stream_wrapper_unregister('glob');
stream_wrapper_register('glob', 'GlobStreamWrapper');
?>
Example:
<?php
$iterator = new GlobIterator(__DIR__ . '/{application,system}/src/*.php');
while ($iterator->valid()) {
    echo $iterator->current()->getFilename() . '</br>';
    $iterator->next();
}
?>