如何利用StorageFacade利用Filesystem类的glob方法?

Réj*_*ôme 18 php dependency-injection laravel laravel-5 flysystem

这与Laravel 5有关.

我可以在Illuminate\Filesystem\Filesystem一个叫做的方法中看到glob($pattern, $flags = 0)

不幸的是,这种方法没有反映在FilesystemAdapterLaravel 5附带的默认值中.

这将是很好的,因为我需要做一些事情Storage::disk('local')->glob([_]*[.blade.php]);(为了让所有存储的刀片文件以下划线开头.

实现这一目标的最简洁方法是什么?

Mar*_*łek 11

我想你不能在glob这里运行,但你可以获取所有文件然后过滤它们,例如:

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

当然,您需要根据自己的需要决定使用filesallFiles(递归).如果你有成千上万的文件,它可能不是最好的解决方案,但如果你没有,那就应该就够了