日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

對象存儲OSS使用PHP語言實現簽名Header上傳的示例

概述

對象存儲OSS SDK提供了集成簽名、上傳和下載的SDK,但實際使用中,有時需要使用API的方式實現在簽名的情況下進行上傳和下載。本文以PutObject接口為例,提供了PHP語言實現的示例。

說明

建議優先使用OSS提供SDK,本文提供的只是簽名實現上傳示例,實際使用中需要結合業務進行代碼改動。

詳細信息

PHP 5.6.30版本使用PutObject接口實現示例代碼如下。

<?php 
function curlput($url,$data,$method='PUT',$bucket,$object,$accesskey ,$accesskeySecret){
 $time = gmdate ("D, d M Y H:i:s T");
    $str = "PUT\n\n"."application/json\n".$time."\n/".$bucket."/".$object;
    //echo($str);
    $signature = base64_encode(hash_hmac("sha1", $str, $accesskeySecret, true));
    //echo($time);
    //echo($signature);
    $ch = curl_init(); //初始化CURL句柄 
    curl_setopt($ch, CURLOPT_URL, $url); //設置請求的URL
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); //設置請求方式 
    
    $headers = array(
    "Date:".$time,
    'Content-Type:application/json',
    "Authorization:OSS ".$accesskey.":".$signature
    );
    curl_setopt($ch,CURLOPT_HTTPHEADER,$headers);//設置HTTP頭信息
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//設置提交的字符串
    $document = curl_exec($ch);//執行預定義的CURL 
    if(!curl_errno($ch)){ 
      $info = curl_getinfo($ch); 
      echo 'Took ' . $info['total_time'] . ' seconds to send a request to ' . $info['url']; 
    } else { 
      echo 'Curl error: ' . curl_error($ch); 
    }
    curl_close($ch);
     
    return $document;
}

$accesskey ='xxx';
$accesskeySecret ='xxx';
$bucket = 'bucketname';
$object = 'mytest/2.txt';
$url = 'http://bucketname.oss-cn-hangzhou.aliyuncs.com/mytest/2.txt';
$data = "{wewwe:wewee}";
$return = curlput($url, $data, 'PUT',$bucket,$object,$accesskey,$accesskeySecret);
 
var_dump($return);
exit;
?>

相關文檔

Header中包含簽名

適用于

  • 對象存儲OSS