并且public设置为不可写才能做到安全上传文件到publi对系统的危害有多大?
赞同 @chekun 的回答,请仔细观看官方文档:文件存储
公开磁盘# 「公开磁盘」就是指你的文件将可被公开访问,默认下, public 磁盘使用 local 驱动且将文件存放在storage/app/public 目录下。为了能通过网络访问,你需要创建 public/storage 到storage/app/public 的符号链接。这个约定能让你的可公开访问文件保持在同一个目录下,这样在不同的部署系统间就可以轻松共享,如Envoyer 的“不停服”部署系统。 你可以使用 storage:link Artisan 命令创建符号链接: php artisan storage:link 当然了,当文件放好且符号链接创建完毕后,你就可以用 asset 辅助函数创建 URL 了: echo asset('storage/file.txt');
公开磁盘# 「公开磁盘」就是指你的文件将可被公开访问,默认下, public 磁盘使用 local 驱动且将文件存放在storage/app/public 目录下。为了能通过网络访问,你需要创建 public/storage 到storage/app/public 的符号链接。这个约定能让你的可公开访问文件保持在同一个目录下,这样在不同的部署系统间就可以轻松共享,如Envoyer 的“不停服”部署系统。
你可以使用 storage:link Artisan 命令创建符号链接:
php artisan storage:link 当然了,当文件放好且符号链接创建完毕后,你就可以用 asset 辅助函数创建 URL 了:
echo asset('storage/file.txt');
laravel 默认就是:
存储配置里的public 存储目录就是 storage/app/public然后通过 php artisan storage:link link 到 public 目录下的
storage/app/public
php artisan storage:link
赞同 @chekun 的回答,请仔细观看官方文档:文件存储
laravel 默认就是:
存储配置里的public 存储目录就是
storage/app/public
然后通过
php artisan storage:link
link 到 public 目录下的