ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

ThinkPHP6 七牛云上传图片以及删除图片

2021-12-14 17:30:47  阅读:291  来源: 互联网

标签:七牛云 删除 image ThinkPHP6 new 上传 图片


一、使用七牛云

申请七牛云账户;
开通对象存储功能(空间0/10GB,免费的);
创建 changj (空间名称);
在秘钥管理,创建一个秘钥,获取 AccessKey / SecretKey;

二、集成PHP-SDK

七牛云开发文档:对象存储 - 七牛开发者中心

Composer 安装 SDK
进入cmd 终端,切换目录到你部署项目的根目录下,执行以下命令即可:

composer require qiniu/php-sdk

添加表单页面:

<form  action="跳转地址" method="跳转方式" enctype="multipart/form-data">
        <div class="form-group" >
          <label>请输入标题</label>
          <input type="text" class="form-control" name="text">
        </div>
        <div class="form-group">
          <label for="exampleInputPassword1">文件</label>
          <input type="file" class="form-control" name="image">
        </div>
        <button type="submit" class="btn btn-primary">Submit</button>
</form>

控制器方法页面:


public function orderin(Request $request){
       
             // 获取表单上传文件 例如上传了001.jpg
         $key=input('post.text');
         $image = $request->file('image');
         //获取上传后的文件路径
         // 图片存储在本地的临时路经
         $filePath = $image->getRealPath();
         // 获取图片后缀
         $ext = $image->getOriginalExtension();
         // 上传到七牛后保存的新图片名
         $newImageName  =   substr(md5($image->getOriginalName()),0,6)
             .  rand(00000,99999) . '.'.$ext;
             $auth = new Auth('七牛云AK','七牛云SK');
             // 要上传的空间位置
             $token = $auth->uploadToken('空间名称');
     
             // 初始化 UploadManager 对象并进行文件的上传。
             $uploadMgr = new UploadManager();
             list($ret , $err) = $uploadMgr->putFile($token , $newImageName , $filePath);
             if($err !== null){
                 return null;
             }else{
                 // 图片上传成功
                 $da['image']=$newImageName;
                 $da['text']=$key;
                 $da['date']=date("Y/m/d");
                 $n=控制器名称::create($da);
                 if ($n){
                    return '添加成功';
                 }
                }
    }

 图片展示页面:

 public function ordershow(){
        //做了一个分页
        $data=Order::paginate(1);
       
        foreach ($data as $item=>$value){
            $date[$item]['image']='七牛云图片路径'.$value['image'];
        }
        return View::fetch('order/ordershow',compact('data'));
    }

删除七牛云接口:

 public function deleteBanner()
    {
        //接收参数
        $params = input();
        //删除逻辑,删除七牛云,删除数据库数据
        $banner = BannerModel::get($params['id']);
        //删除七牛云
        $accessKey = '';//去控制台的秘钥管理拿AK
        $secretKey = '';//去控制台的秘钥管理拿SK
        //七牛云桶名,根据自己实际进行填写
        $bucket = '';
        //域名长度
        $len = strlen('http://qtpud69oi.hn-bkt.clouddn.com/');
        //要删除七牛云图片路径
        $delImageUrl = substr($banner->image_url,$len);
 
        $auth = new Auth($accessKey, $secretKey);
        $config = new \Qiniu\Config();
        $bucketManager = new \Qiniu\Storage\BucketManager($auth, $config);
        $bucketManager->delete($bucket, $delImageUrl);
 
        //删除数据数据
        $banner->delete();
        return json([
            'msg'=>'删除成功',
            'code'=>200,
            'result'=>''
        ]); 
    }

标签:七牛云,删除,image,ThinkPHP6,new,上传,图片
来源: https://blog.csdn.net/qq7027/article/details/121932119

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有