Laravel:文件可见性的用例?

Ada*_*dam 5 php laravel-5

我使用 Laravel 和本地文件系统作为存储驱动程序。

我知道我可以将文件保存在storage/public文件夹中,以便通过myapp.dev/storage/image.jpg. 我还了解到,我可以使图像仅可供经过身份验证的用户访问,如此处所述

我不明白文件可见性属性。如果文件是公开的,具体取决于我存储它们的文件夹,为什么我需要将它们另外声明为privateor public?谁能给出一个需要这样做的用例吗?

Tjo*_*alv 0

仅当您使用云存储提供商(例如 Amazon S3 或类似的东西)时,文件可见性选项才重要。如果您使用本地文件系统,则该选项将被忽略。

  • “被忽视”也许是描述它的错误方式。根据项目的配置,以公共/私有可见性保存的文件被授予不同的读/写/执行权限。然而,在许多(大多数?)服务器配置中,公共和私有设置都可能导致文件被网络服务器读取并提供给用户,使得设置看起来像是被忽略了。人们可能会看到差异的一种情况是,如果网络服务器作为“www-data”用户运行,而 php-fpm 作为其自己的用户运行。私有文件默认权限为0600,因此`www-data`无法读取它们。 (5认同)