PHP原生代碼集成騰訊雲對象存儲 COS整個過程源碼方式


1 先下載源碼

點擊下載

https://github.com/tencentyun/cos-php-sdk-v5/releases/download/v2.0.8/cos-sdk-v5.tar.gz

有vendor文件夾的

 

2解壓后再  當前目錄新建了個upload.php

 

 

 

3  測試可上傳  文件如下

<?php

function cos_file_upload($local_path,$server_key_name) 
{
	require dirname(__FILE__) . '/vendor/autoload.php';
	
	$secretId = "111"; //"雲 API 密鑰 SecretId";
	$secretKey = "222"; //"雲 API 密鑰 SecretKey";改成自己的
	$region = "ap-nanjing"; //設置一個默認的存儲桶地域
	$cosClient = new Qcloud\Cos\Client(
	    array(
	        'region' => $region,
	        'schema' => 'https', //協議頭部,默認為http
	        'credentials'=> array(
	            'secretId'  => $secretId ,
	            'secretKey' => $secretKey)));
  		
	 //定義數據
	 $upload_success = false;
     $img_url = '';
     $upload_msg = '';
	    
	try {
	    $result = $cosClient->upload(
	        $bucket = '1222', //請創建桶的時候 設置公共讀寫  改成自己的
	        $key = $server_key_name,
	        $body = fopen($local_path, 'rb')
	    );
	    // 請求成功
	     $data = $result->toArray() ;
	 	if(isset($data['Location']) && isset($data['Key'])){
        	$img_url = $data['Location'];
            $upload_success = true;
        }
	} catch (\Exception $e) {
	    // 請求失敗
	   $upload_msg = $e->getMessage();
	}
	
	//返回信息
        if($upload_success){
            return array('id' => '0001','msg' => '上傳成功','info'=>$img_url,'more'=>'');
        }
        else{
            return  array('id' => '0002','msg' => '上傳失敗','info'=>$upload_msg);//返回‘上傳失敗’,並返回錯誤信息
        }
}
if($_POST) {
	$local_path=$_FILES['file']['tmp_name'];//文件上傳后的臨時目錄
	$server_key_name="123.jpg";//遠程服務器存儲的名字
    $res=cos_file_upload($local_path,$server_key_name);
    var_dump($res);exit;
} else {
?>
<form enctype="multipart/form-data"  method="post"     action="upload.php"  >
	 
		<input type="file" name="file" id ="file" class ="up-file" style="height:34px;width:600px;margin-left:-8px;border:1px solid #ccc">
		<input type="hidden" name="aa" id="aa" value=0>
		<input type="submit" id = 'btn' value = "提交" class = "btn">
</form>
<?php 
}
?>

 

幾個注意的地方

1)經過測試目前只支持https的站點上傳  不是https的會報錯

 

curl error 60 

2) 桶相當於文件夾 就是把文件放到哪個文件夾

桶可以設置 各種權限  設置為公有  就可以上傳后  然后直接訪問

 

 

 

3)關於API秘鑰

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM