如何利用文件系统类的 glob 方法与 StorageFacade



这是关于Laravel 5的。

我可以在IlluminateFilesystemFilesystem中看到一种称为glob($pattern, $flags = 0)的方法

不幸的是,此方法未反映在Laravel 5附带的默认FilesystemAdapter中。

这会很棒,因为我需要做类似 Storage::disk('local')->glob([_]*[.blade.php]); 的操作(以便获取所有存储的刀片文件都以下划线开头。

实现这一目标的最干净方法是什么?

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

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

当然,您需要根据需要决定使用filesallFiles(递归)。如果您有数千个文件,这可能不是最佳解决方案,但如果您没有,那就足够了

相关内容

最新更新