Laravel中的Storage::disk

一、总结

一句话总结:

Storage的disk的路径和file的路径都是一回事,都是config/filesystems.php配置文件中disks

比如$bool = Storage::disk('uploads')->put('/'.$data['pic_path'], file_get_contents($realPath));

二、Laravel 文件上传,Storage::disk

转自或参考:Laravel 文件上传,Storage::disk
https://blog.csdn.net/vierhang/article/details/90376894

 
  1. 在config/filesystems.php文件中增加uploadsdisk驱动;

    例:

    'disks' => [
    
        'local' => [
    'driver' => 'local',
    'root' => public_path('app'),
    ],
    // 新建一个本地端uploads空间(目录) 用于存储上传的文件
    'uploads' => [ 'driver' => 'local', // 文件将上传到storage/app/uploads目录
    // 'root' => storage_path('app/uploads'), // 文件将上传到public/img 如果需要浏览器直接访问 请设置成这个
    'root' => public_path('img'),
    ],
  2. 在相应控制器中做文件上传逻辑

     if ($request->hasFile('picture')){
    //获取文件
    $file = $request->file('picture');
    $time = date('Ymd',time());
    // 文件是否上传成功
    if ($file->isValid()) {
    // 获取文件相关信息
    $originalName = $file->getClientOriginalName(); // 文件原名
    $ext = $file->getClientOriginalExtension(); // 扩展名
    $realPath = $file->getRealPath(); //临时文件的绝对路径
    $type = $file->getClientMimeType(); // image/jpeg
    // 上传文件
    $filename = uniqid() . '.' . $ext;
    $data['pic_path'] = 'blackvirus/'.$time.'/'.$filename;
    // 使用我们新建的uploads本地存储空间(目录)
    //这里的uploads是配置文件的名称
    $bool = Storage::disk('uploads')->put('/'.$data['pic_path'], file_get_contents($realPath));
    //判断是否创建成功
    if (!$bool)
    {
    return $this->responseError('添加图片失败', $this->status_blackvirus_insert_img_error);
    }
    }
    }
 

Laravel中的Storage::disk的更多相关文章

  1. Laravel中一些要记住 的写法

    模型篇: 1.根据数据库部分URL返回完整的URL public function getImageUrlAttribute() { // 如果 image 字段本身就已经是完整的 url 就直接返回 ...

  2. Laravel中的日志与上传

    PHP中的框架众多,我自己就接触了好几个.大学那会啥也不懂啥也不会,拿了一个ThinkPHP学了.也许有好多人吐槽TP,但是个人感觉不能说哪个框架好,哪个框架不好,再不好的框架你能把源码读上一遍,框架 ...

  3. Laravel 中使用 JWT 认证的 Restful API

    Laravel 中使用 JWT 认证的 Restful API 5天前/  678 /  3 / 更新于 3天前     在此文章中,我们将学习如何使用 JWT 身份验证在 Laravel 中构建 r ...

  4. Laravel 中的异常处理

    这篇文章里,我们将研究 Laravel 框架中最重要也最少被讨论的功能 -- 异常处理. Laravel 自带了一个异常处理类,它能够让你以简单.优雅的方式 report 和 render 异常. 文 ...

  5. laravel中的验证及利用uploadify上传图片

    $rules = [ 'password'=>'required|between:6,20|confirmed', ]; $message = [ 'password.required'=> ...

  6. laravel中session的过期时间

    在项目开发的过程中,前后端分离 需要用session保存用户的登陆信息 这就涉及到session的有效期了 session又分为php中的session有效期和laravel中的session的有效期 ...

  7. laravel中的文件上传到本地+七牛云上传

    首先在filesystems.php 配置好上传的文件的目录起名为upload 在Storage/目录下面 目录下面的app/upload 如果没有这个文件会自动创建 这里的名字upload名字是跟控 ...

  8. laravel中控制器的创建和使用(五)

    laravel中我们可以使用 artisan 命令来帮助我们创建控制器文件. php artisan make:controller TestController TestController 控制器 ...

  9. laravel中图片的删除

    laravel中图片的删除 一.总结 一句话总结: laravel里面删除的话还是建议用Storage的delete方法,不建议用原生php的unlink方法,不然没找到文件可能会报异常 二.lara ...

随机推荐

  1. iPhone 移植到 iPad:

    来源:http://www.wapera.cn/ipadkaifa/71354.html iPhone移植到iPad: 方法一修改设备目标设置(普通模式:一套代码及XIB界面文件,代码分if和else ...

  2. unity4.3.4firedrillonline项目首次整合问题总结

    零.资源导入后把所有资源模型拖到场景中去,并reset Transform,使场景展现原有样子. 一.资源导入之后发现项目场景是黑的,添加灯光之后场景中大部分仍然是黑的(并没有光照的效果) 可能原因: ...

  3. javascript_18-Array 数组

    数组 数组-引用类型,JavaScript中的内置对象 Array对象的属性 length 获取数组的长度(元素个数) 检测数组 instanceof Array.isArray() //h5新增 常 ...

  4. Python——函数&作用域

    我们前面学的都是面向过程式的编程(代码从上到下写,并运行),而函数式编程是将繁杂的代码通过整理特性进行规整.像图书馆一样,将小说.教学.外文等书籍进行分类.让编程人员或看代码人员很容易的查看该段代码的 ...

  5. python之while循环用法举例,break与continue的区别,格式化输出及运算符

    一.while循环的基本结构 while 条件: 代码块(循环体) else: 当上面的条件为假. 才会执行 执行顺序:判断条件是否为真. 如果真. 执行循环体. 然后再次判断条件....直到循环条件 ...

  6. 桂电深信服CTF之MSC真假压缩包

    真假压缩包-复现(吐槽一句,脑洞真特么大) 先从虚假的入手,一开始猜测虚假的是伪加密,后面也确实是 后面打开压缩包,是一个txt文件 一眼可以看出来是RSA,算出来明文是5(于是就在这里卡了两天,一直 ...

  7. Luogu P1970 花匠

    Luogu P1970 花匠 本质上就是找最长的波浪序列. 因为考虑到第一个必选,所以可以让$lst=h[1]$. 此外,注意到$n=1$是要特判,其他情况下显然$ans\geq 2$,所以把$dir ...

  8. 学习markdown(一)

    转:https://www.jianshu.com/p/81e1608ea2d8 ----------------------------------------------------------- ...

  9. 题解 洛谷P2189 【小Z的传感器】

    这题就是考察什么时候建边,貌似和搜索没有半毛钱关系\(qwq\) 首先没有传感器的房间是可以随便走来走去的,因为我们不用考虑顺序.于是就考虑先把这些点的相互的边给建起来. 接下来分析一波,对于第\(i ...

  10. Sql中的left函数、right函数

    DB2中left()函数和right()函数对应oracle中的substr()函数 DB2 LEFT.RIGHT函数 语法:LEFT(ARG,LENGTH).RIGHT(ARG,LENGTH) LE ...