zoukankan      html  css  js  c++  java
  • laravel删除文件

    laravel删除文件

    一、总结

    一句话总结:

    1、注意disk:disk决定路径
    2、删单个文件的时候就用删单个文件的方式,别用删多个文件的方式(也就是参数别数组)
    public function index()
    {
      // 取到磁盘实例
      $disk = Storage::disk('local');
    
      // 删除单条文件
      $disk->delete('test.txt');
      // 删除多条文件
      $disk->delete(['test22.txt', 'icon.jpg']);
    }



    1、laravel中disks的根路径写法?

    base_path就是根目录:'root' => base_path('')
    'disks' => [
        'local' => [
            'driver' => 'local',
            'root' => base_path(''),
        ],
    ],

    二、Laravel框架 -- 自定义文件上传目录之删除文件

    转自或参考:Laravel框架 -- 自定义文件上传目录之删除文件
    https://blog.csdn.net/Hinsion/article/details/81671486

           Laravel框架的上传文件目录是默认在 storage/app/public ,在一般情况下,我是会在根目录上重新创建一个目录(uploads)来存储我们上传的文件。
           下面切入正题,我们想在上传成功的文件夹中删除指定的文件,那么,我们首先就要设置一个文件的内容:config/filesystems.php ,把里面的内容更改为:

    'disks' => [
    
        'local' => [
            'driver' => 'local',
            'root' => base_path(''),
        ],
    
        'public' => [
            'driver' => 'local',
            'root' => base_path(),
            'url' => env('APP_URL').'/uploads',
            'visibility' => 'uploads',
        ],
    
        's3' => [
            'driver' => 's3',
            'key' => env('AWS_KEY'),
            'secret' => env('AWS_SECRET'),
            'region' => env('AWS_REGION'),
            'bucket' => env('AWS_BUCKET'),
        ],
    
    ],

    注:base_path就是根目录的意思(不是很会的小伙伴要注意一下的)。

           修改成功后保存,然后进行下一步操作。
           下一步,我们进入控制器,首先,我们需要获取到我们想删除文件的路径,这里我就不展示了,大家都应该知道怎么获取的,下面这个示例,我是直接把路径写出来的,方便大伙了解。

    $data = '/uploads/2018-08-14/file/1491628685130.zip';
    $re = Storage::delete($data);
    dd($re);

           打印出来的值应为 true ,如果是显示 false 的话,那么请检查你的目录是否存在该文件,其次就是上面的配置文件修改的代码是否写错,再之就是控制器里获取的路径是否正确。
           补充,如果想删除多个文件,那么在delete里面以数组的形式写就可以了。

    $data = '/uploads/2018-08-14/file/1491628685130.zip';
    $photo = '/uploads/2018-08-14/photo/1491628669760.jpg';
    $re = Storage::delete([$data, $photo]);
    dd($re);

     

     
  • 相关阅读:
    Hibernate5.2之一对一主键关联(四)
    Hibernate5.2关联关系之双向一对多(三)
    Hibernate5.2关联关系之单向多对一(二)
    Hibernate5.2关联关系之单向一对多(一)
    Hibernate5.2之原生SQL查询
    Hibernate5.2之HQL查询
    Winform 按键组合键
    当Bitmap的宽度大于ImageView的最大显示宽度时对ImageView的宽高重新计算来适应Bitmap的宽高(转)
    sqlserver 函數執行動態sql語句,取值
    时间格式化 字符串转时间(转)
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/11973244.html
Copyright © 2011-2022 走看看