将文件存储在公共目录和存储在Laravel 5.4中的区别

2022-08-30 19:38:51

将文件(图像)存储在文件夹中和将它们存储在文件夹中有什么区别?public/imagesstorage/app/public


答案 1

公用文件夹意味着文件将可公开访问。例如,任何人都可以查看存储在 中的图像,方法是转到public/images/my-image.jpeg

mysite.com/images/my-image.jpeg

但是,存储在目录中的文件仅对你的应用可用。storage

Laravel 有一个命令,可以将符号链接到 fromphp artisan storage:linkpublicstorage/app/public

这样做的原因是,您的可能不是本地文件系统,而是 Amazon S3 存储桶或 Rackspace CDN(或其他任何内容)storage

您需要按照文档设置文件系统配置 https://laravel.com/docs/5.6/filesystem

完成此操作后,您可以将文件获取/存储到/从存储位置存储,而不是将所有内容都放在服务器上。

有 2 种用于和 显示文件的帮助程序方法:publicstorage

存储:storage_path('my-file.jpg')

公共:asset('my-file.jpg')


答案 2

如果要对谁可以访问哪些文件进行一些控制,请将文件放入存储中。

如果每个人都可以访问该文件(包括未登录的用户),则将其公开


推荐