一. 安裝插件
在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>
...