搜索

首页  >  问答  >  正文

laravel是否应该把上传文件目录定义在storage而非public

并且public设置为不可写才能做到安全
上传文件到publi对系统的危害有多大?

给我你的怀抱给我你的怀抱2787 天前932

全部回复(2)我来回复

  • 巴扎黑

    巴扎黑2017-06-30 10:02:09

    赞同 @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');

    回复
    0
  • PHP中文网

    PHP中文网2017-06-30 10:02:09

    laravel 默认就是:

    存储配置里的public 存储目录就是 storage/app/public
    然后通过 php artisan storage:link link 到 public 目录下的

    回复
    0
  • 取消回复