1. 程式人生 > >Yii2.0七牛擴展配置及圖片管理Demo

Yii2.0七牛擴展配置及圖片管理Demo

ret file autoload tor 生成 其他 === 直接下載 pat

php七牛擴展下載地址:https://github.com/qiniu/php-sdk
通過composer安裝:

$ composer require qiniu/php-sdk

手工安裝擴展:
直接下載安裝,SDK 沒有依賴其他第三方庫,但需要參照 composer的autoloader,增加一個自己的autoloader程序,步驟如下:
(1)在vendor文件夾中的composer文件夾下,修改autoload_files.php增加:

‘841780ea2e1d6545**3a253239d59c05‘ => $vendorDir . ‘/qiniu/php-sdk/src/Qiniu/functions.php‘,         

(2)在vendor文件夾中的composer文件夾下,修改autoload_psr4.php增加
‘Qiniu\‘ => array($vendorDir . ‘/qiniu/php-sdk/src/Qiniu‘),

代碼Demo如下:

/**

  • @return mixed
  • $key 七牛服務器上傳的文件名、刪除的文件名
  • $filePath 本地上傳路徑
  • $type 操作方式
    */
    public function manageQiniu($key,$filePath,$type){

    $accessKey = ‘*****************************************************‘;
    $secretKey = ‘****************************************************‘;
    $bucket = ‘upload‘;            //儲存空間列表
    // $domain = ‘images.qiuniu.cn‘;   //綁定在空間的域名
    //上傳到服務器文件名 $key
    
    $auth = new Auth($accessKey, $secretKey);
     // 生成上傳 Token
    $uptoken = $auth->uploadToken($bucket, null, 3600);
    // echo $uptoken;
    //上傳文件的本地路徑
    // $filePath = ‘dist/img/user2-160x160.jpg‘;
    
    //建立upload對象
    $uploadMgr = new UploadManager();
    if(!empty($key)){
        // echo "<img src=‘http://$domain/$key‘>";    //顯示七牛服務器圖片
        echo "請輸入需要保存的文件名";
    }
    if($type == ‘delete‘){  //刪除圖片demo
        $config = new Qiniu\Config();
        $bucketManager = new Qiniu\Storage\BucketManager($auth, $config);
        $err = $bucketManager->delete($bucket, $key);
        var_dump($err);
    }
    if($type == ‘upload‘){
        list($ret, $err) = $uploadMgr->putFile($uptoken, $key, $filePath);
        echo "\n====> putFile result: \n";
        if ($err !== null) {
            var_dump($err);
        } else {
            var_dump($ret);
        }
    }

    }

Yii2.0七牛擴展配置及圖片管理Demo