Как использовать метод glob класса Filesystem с StorageFacade?

Это касается Ларавел 5.

Я могу видеть в Illuminate\Filesystem\Filesystem метод называется glob($pattern, $flags = 0)

К сожалению, этот метод не отражен по умолчанию FilesystemAdapter поставляется с Laravel 5.

Это было бы здорово, потому что мне нужно было бы сделать что-то вроде Storage::disk('local')->glob([_]*[.blade.php]); (чтобы получить все сохраненные файлы блейдов, начиная с подчеркивания.

Какой самый чистый способ достичь этого?

16

Решение

Я думаю, что вы не можете бежать glob здесь, но вы можете получить все файлы и затем отфильтровать их, например:

$files = array_filter(Storage::disk('local')->files(), function ($file)
{
return preg_match('/_(.*)\.blade\.php$/U', $file);
});

Конечно, вы должны решить, использовать files или же allFiles (рекурсивно) в зависимости от ваших потребностей. Возможно, это не лучшее решение, если у вас есть тысячи файлов, но если этого не произойдет, этого будет достаточно

8

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]