thinphp php 七牛雲sdk 圖片上傳

安裝 七牛雲sdk 圖片上傳

在項目根目錄下php composer.phar require qiniu/php-sdk,或者composer require qiniu/php-sdk等待便可完成。

在vendor 下能夠看到qiniu目錄php

在七牛雲帳號設置裏面找到本身的ak和sdk

能夠在config.php 或則 extra 擴展參數下添加一個qiniu.php 均可以,必須配置可以使用

qiniu.php 代碼

<?php 

return [ 
    'AccessKey' => 'CfUQ83YrrTeIEWgXC7vWxQArM*******YaiKOT0', // ak
    'SecretKey' => 'Bmi9FO6U4HUDL25c68YhhxxF******TAGLzHFJa', // sk
    'BUCKET' => '***',    // 這個是你的存儲空間的地址!!!!
    'domin' => 'ooa58iqmb.bkt.clouddn.com', // 這個是你的圖片鏡像地址
];

使用

能夠在common下面建立一個公共類 lib/
<?php
namespace app\common\lib;app

// 引入鑑權類  
use Qiniu\Auth;  
// 引入上傳類  
use Qiniu\Storage\UploadManager;  

/**
 * 返回一個加密數據
 * $file 傳入的圖片本地地址
 *  return $key 上傳成功的圖爿代碼
 *  若是中間數顯了noobject 則問題應該是你的ak或則sk或者儲存空間地址寫錯了
 */
Class Upload {

public static function image($file=''){  
    if( !$file ){
        return '';
    }
    $file = '../public/static/ueditor/php/upload/20180515/15263909228063.jpg';  //這裏我代用了一個圖片地址
    
    $str = explode('.',$file);
    $ext = $str[count($str)-1]; // 獲取後綴名
    
    $config = config('qiniu');  
    
    // 構建一個鑑權對象  
    $auth = new Auth($config['AccessKey'],$config['SecretKey']);  

    // 生成上傳的token  
    $token = $auth->uploadToken($config['BUCKET']);  
    // 上傳到七牛後保存的文件名  
    $key = date('Y').'/'.date('m').'/'.substr(md5($file),0,5).date('YmdHis').mt_rand(0,9999).'.'.$ext;  
    
    // 初始化UploadManager類  
    $uploadMgr = new UploadManager();  
    list($ret,$err) = $uploadMgr->putFile($token,$key,$file);  
    if($err !== null){  
        return '';  
    }else{  
        // return $key;  
        return $key;
    }  
}

}composer

相關文章
相關標籤/搜索