• yii2.0 集合七牛SDK 上传图片到第三方



    首先,请用composer下载七牛phpSDK (具体参考官方文档)

    composer require qiniu/php-sdk
    

    注册七牛账号 获取 AK SK(密匙) ,创建资源对象 获取domain(访问域名) bucket(你创建的资源对象名称)

    models层定义AK SK domain bucket等常量 方便日后使用(因人而异)

    const AK = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
    const SK = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
    const DOMAIN = 'xxxxxxx.com';
    const BUCKET = 'xxxxxxxxxxx';
    

    controller中加载七牛类

    use crazyfdqiniuQiniu;
    

    实例化七牛对象执行上传

    //实例化七牛对象
    $qiniu = new Qiniu(Product::AK,Product::SK,Product::DOMAIN,Product::BUCKET);
    
    //生成key(图片标志)     
    $key = uniqid();
    
    //执行上传 
    $qiniu->uploadFile($_FILES['Product']['tmp_name']['cover'],$key);
    
    //获取存储地址
    $cover = $qiniu->getLink($key);
    
    ------后面就是把路径存到数据库即可
    

    多图片上传同理foreach即可

    foreach($_FILES['Product 大专栏  yii2.0 集合七牛SDK 上传图片到第三方']['tmp_name']['pics'] as $k  => $file){
            if($_FILES['Product']['error']['pics'][$k]>0){
                    continue;
            }
            $key = uniqid();
            $qiniu->uploadFile($file,$key);
            //(保存key为下标 方便后面删除)
            $pics[$key] = $qiniu->getLink($key);
    }
    

    多图片集合返回json格式

    值得一提的是七牛可以设置多图片样式,比如我就将图片设置成3种,product_small,product_big,product_mid;

    view视图输出

    ----
    七牛存储的图片删除
    
    
    $productid = yii::$app->request->get('productid');
            $product_del = Product::find()->where('productid=:pid',[':pid'=>$productid])->one();
            //获取链接中文件名
            $key = basename($product_del->cover);
            //七牛
            $qiniu = new Qiniu(Product::AK,Product::SK,Product::DOMAIN,Product::BUCKET);            
    
            $qiniu->delete($key);
            //删除多图片(因为保存时将文件名保存为下标值可直接删除)
            $pics = json_decode($product_del->pics,true);
            foreach ($pics as $key => $value) {
            $qiniu->delete($key);
            }     
    
  • 相关阅读:
    在eclipse中API的封装和调用
    冒泡排序
    java中阻止类的继承
    java中数组复制的两种方式
    ssh框架搭建出现的异常: class com.my.entity.user not found while looking for property: id
    ssh框架中struts.xml 的配置参数详解
    线程的五种状态
    Sql Server 分页
    window.opener 子窗体操作父窗体
    贪心算法--汽车加油问题
  • 原文地址:https://www.cnblogs.com/lijianming180/p/12037770.html
Copyright © 2020-2023  润新知