使用crazyfd/yii2-qiniu擴展上傳圖片到七牛雲

一. 安裝插件

在composer.json中增加一行

  "require": {
        ...
        "crazyfd/yii2-qiniu": "*"
    },

運行: composer update

二. 在七牛雲設置圖片樣式

註冊登錄後,進入控制檯,選擇對象存儲,新建空間,這裏僅做測試 ,訪問控制設置爲公開.
七牛雲對於上傳的圖片可以做裁剪,縮略等處理, 點擊新建的空間名進入空間管理, 點擊圖片樣式,
這裏需要注意的地方是:
樣式分隔符設置, 這裏必須設置一個分隔符,不然後面就無法訪問到對應的圖片樣式.
在這裏插入圖片描述
設置完樣式分隔符後, 點擊右側新建圖片樣式,按照提示設置即可.

三. 後臺代碼中使用擴展

 	private function upload(){
        if($_FILES['Product']['error']['cover'] >0){
            return false;
        }
        // AK, SK 在個人中心,祕鑰管理中可以查看
        $ak = "******************"; 
        $sk = "******************";
        //DOMAIN 是空間中指定的CDN測試域名,有效期30天,不支持https
        $domain  = "http://q5ksdf1zsdfo.bkt.clouddn.com";
        //BUCKET 是自己給空間取的名字
        $bucket = "crazyfox";
        $qiniu = new Qiniu($ak,$sk,$domain,$bucket);
        $key = uniqid();
        $qiniu->uploadFile($_FILES['Product']['tmp_name']['cover'],$key);
        $cover = $qiniu->getLink($key);
        $pics = [];
        foreach($_FILES['Product']['tmp_name']['pics'] as $k=>$file){
            if($_FILES['Product']['error']['pics'][$k] > 0){
                continue;
            }
            $key = uniqid();
            $qiniu->uploadFile($file,$key);
            $pics[$key] = $qiniu->getLink($key);
        }
        return ['cover'=>$cover,'pics'=>json_encode($pics,true)];
    }

四. 前臺獲取圖片

獲取具體的圖片樣式時, 在圖片地址後加 “-圖片樣式名”.

  <?php foreach($model as $product): ?>
       <tr class="first">
          <td>
             <img src="<?php echo $product->cover; ?>-coversmall" class="img-circle avatar hidden-phone" />
            <a href="#" class="name"><?php echo $product->title; ?></a>
        </td>
      ...
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章