日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

腾讯云存储PHP上传实例【代码示例】

發布時間:2023/12/31 综合教程 33 生活家
生活随笔 收集整理的這篇文章主要介紹了 腾讯云存储PHP上传实例【代码示例】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近遇到一個項目,考慮到會上傳大量的手機照片,而手機的照片尺寸比較大,服務器增加存儲盤來存照片,成本太大,最終考慮是用云存儲,成本降了很多,服務器買的是騰訊的,所以使用的是騰訊的云存儲。

簡單代碼示例:

第一步:首先下載騰訊云存儲的SDK(cos-php-sdk-v5)

配置具體的參數:(具體的參數配置參考騰訊云COS存儲,新建存儲桶,獲取秘鑰等)

具體代碼:

// 初始化COS
private function initCos(){
    require './cosphpsdkv5/index.php';
    $secretId = "AKIDay6aaaaaaaaaawsh2A2"; //"云 API 密鑰 SecretId";
    $secretKey = "rUqzrLdddddddddddddddddvwkHZa"; //"云 API 密鑰 SecretKey";
    $region = "ap-nanjing"; //設置一個默認的存儲桶地域
    $cosClient = new QcloudCosClient(
        array(
            'region' => $region,
            'schema' => 'http', //協議頭部,默認為http
            'credentials'=> array(
                'secretId'  => $secretId ,
                'secretKey' => $secretKey
            )
        )
    );
    return $cosClient;
}

上傳代碼示例:

代碼示例:

public function cosupload(){
    set_time_limit(0);//防止上傳大文件超時
    // 判斷上傳的文件類型
    $types = 'image'; // 圖片類型
    if (!in_array($types,explode('/',$file['type']))) {
        return json_encode(['code' => 0, 'msg' => '類型錯誤,不支持的文件類型', 'off' => 0]);
    }
    // 圖片目錄
    $imgdirectory = "picture";
    $bucket = "picture-1255572032"; // 存儲桶名稱
    $filename = explode('.', $file['name']);
    $key = date('Ymd').'/'.md5(time().'http://' . $_SERVER['HTTP_HOST'].rand(0,9999)).'.'.end($filename);
    $cosClient = $this->initCos();
    try{
        $result = $cosClient->putObject(array(
            'Bucket' => $bucket,
            'Key' => $key,
            'Body' => fopen($file['tmp_name'], 'rb') 
        ));
        var_dump($result);
    }catch(Exception $e){
        echo "$e
";
    }
    // try{            
    //     // $result = $cosClient->putObject(array(
    //     //     'Bucket' => $bucket,
    //     //     'Key' => $key,
    //     //     'Body' => '說的不錯呀~'
    //     // ));
    //     $result = 
    // }catch(Exception $e){
    //     echo "$e
";
    // }
}

遇到的問題,圖片上傳成功,但是直接訪問,訪問不了,原因是:存儲桶的權限是私有讀寫,需要sign簽名才能讀取,但是可以修改權限,共有讀私有寫,或者共有讀寫就行。

總結

以上是生活随笔為你收集整理的腾讯云存储PHP上传实例【代码示例】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。