我想在我的公用文件夹中自动生成所有图像的列表,但我似乎找不到任何可以帮助我做到这一点的对象。 Storage 类似乎是这项工作的好人选,但它只允许我在公用文件夹之外的存储文件夹中搜索文件。 原文由 kant312 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以为 Storage 类创建另一个磁盘。在我看来,这将是您的最佳解决方案。 在磁盘阵列的 config/filesystems.php 中添加您想要的文件夹。本例中的 公用文件夹。 'disks' => [ 'local' => [ 'driver' => 'local', 'root' => storage_path().'/app', ], 'public' => [ 'driver' => 'local', 'root' => public_path(), ], 's3' => '....' 然后,您可以通过以下方式使用 Storage 类在您的公用文件夹中工作: $exists = Storage::disk('public')->exists('file.jpg'); $exists 变量将告诉您 file.jpg 是否存在于 公共 文件夹中,因为 存储磁盘“公共” 指向项目的公共文件夹。 您可以将文档中的所有 存储 方法与您的自定义磁盘一起使用。只需添加 disk(‘public’) 部分。 Storage::disk('public')-> // any method you want from http://laravel.com/docs/5.0/filesystem#basic-usage 后期编辑: 人们抱怨我的回答没有给出列出文件的确切方法,但我的意图是永远不会删除操作复制/粘贴到他的项目中的一行代码。如果我可以使用这个词,我想“教”他如何使用 laravel 存储,而不是仅仅粘贴一些代码。 无论如何,列出文件的实际方法是: $files = Storage::disk('public')->files($directory); // Recursive... $files = Storage::disk('public')->allFiles($directory); 在我原来的答案中,配置部分和背景都在上面。 原文由 igs013 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 laravel 中只需使用: use Illuminate\Support\Facades\File; $path = public_path(); $files = File::allFiles($path); dd($files); 我希望它有用! 原文由 Joukhar 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以为 Storage 类创建另一个磁盘。在我看来,这将是您的最佳解决方案。
在磁盘阵列的 config/filesystems.php 中添加您想要的文件夹。本例中的 公用文件夹。
然后,您可以通过以下方式使用 Storage 类在您的公用文件夹中工作:
$exists 变量将告诉您 file.jpg 是否存在于 公共 文件夹中,因为 存储磁盘“公共” 指向项目的公共文件夹。
您可以将文档中的所有 存储 方法与您的自定义磁盘一起使用。只需添加 disk(‘public’) 部分。
http://laravel.com/docs/5.0/filesystem#basic-usage
后期编辑:
人们抱怨我的回答没有给出列出文件的确切方法,但我的意图是永远不会删除操作复制/粘贴到他的项目中的一行代码。如果我可以使用这个词,我想“教”他如何使用 laravel 存储,而不是仅仅粘贴一些代码。
无论如何,列出文件的实际方法是:
在我原来的答案中,配置部分和背景都在上面。