cos-php-sdk-v4文檔

開(kāi)發(fā)準(zhǔn)備

相關(guān)資源

cos php sdk v4 github項(xiàng)目
(本版本SDK基于JSON API封裝組成)

開(kāi)發(fā)環(huán)境

  1. 依賴環(huán)境:PHP 5.3.0 版本及以上
  2. 從控制臺(tái)獲取APP ID、SecretID、SecretKey,并修改 cos-php-sdk-v4/qcloudcos/conf.php 文件里的相關(guān)配置。

SDK 配置

下載 SDK 后,在使用 SDK 時(shí),加載 cos-php-sdk-v4/include.php 并設(shè)置全局的超時(shí)時(shí)間及COS所在的區(qū)域即可。

require('cos-php-sdk-v4/include.php'); 
use Qcloud\Cos\Api;

$config = array(
    'app_id' => '',
    'secret_id' => '',
    'secret_key' => '',
    'region' => 'gz',
    'timeout' => 60
);
// 設(shè)置COS所在的區(qū)域,對(duì)應(yīng)關(guān)系如下:
//     華南  -> gz
//     華東  -> sh
//     華北  -> tj

$cosApi = new Api($config);

若需要支持 HTTPS ,修改 conf.php 中的 API_COSAPI_END_POINT 的值為如下:

const API_COSAPI_END_POINT = 'https://region.file.myqcloud.com/files/v2/';

生成簽名

多次有效簽名

方法原型

public function createReusableSignature($expiration, $bucket, $filepath);

參數(shù)說(shuō)明

參數(shù)名 類型 必填 參數(shù)描述
expiration long 過(guò)期時(shí)間,Unix時(shí)間戳
bucket String bucket 名稱
filepath String 文件路徑

示例

$auth = new Auth($appId = '',$secretId ='',$secretKey = '');
$expiration = time() + 60;  
$bucket = 'testbucket';
$filepath = "/myFloder/myFile.rar";
$sign = $auth->createReusableSignature($expiration, $bucket, $filepath);

單次有效簽名

方法原型

public function createNonreusableSignature($bucket, $filepath);

參數(shù)說(shuō)明

參數(shù)名 類型 必填 參數(shù)描述
bucket String bucket 名稱
filepath String 文件路徑,以斜杠開(kāi)頭,例如 /filepath/filename,為文件在此 bucketname 下的全路徑

示例

$auth = new Auth($appId = '',$secretId ='',$secretKey = '');
$bucket = 'testbucket';
$filepath = "/myFloder/myFile.rar";
$sign = $auth->createNonreusableSignature($bucket, $filepath);

目錄操作

創(chuàng)建目錄

接口說(shuō)明:用于目錄的創(chuàng)建,可通過(guò)此接口在指定 bucket 下創(chuàng)建目錄。

方法原型

public function createFolder($bucketName, $path, $bizAttr = null);

參數(shù)說(shuō)明

參數(shù)名 類型 必填 參數(shù)描述
bucketName String bucket 名稱
path String 目錄全路徑
bizAttr String 目錄屬性信息,業(yè)務(wù)自行維護(hù)

返回值說(shuō)明(json)

參數(shù)名 類型 必帶 參數(shù)描述
code Int 錯(cuò)誤碼,成功時(shí)為0
message String 錯(cuò)誤信息
data Array 返回?cái)?shù)據(jù),請(qǐng)參考《Restful API 創(chuàng)建目錄》

示例

$bizAttr = "attr_folder";
$result  = $cosApi->createFolder($bucketName, $path,$bizAttr)

目錄更新

接口說(shuō)明:用于目錄業(yè)務(wù)自定義屬性的更新,調(diào)用者可以通過(guò)此接口更新業(yè)務(wù)的自定義屬性字段。

方法原型

public function updateFolder($bucketName, $path, $bizAttr = null);

參數(shù)說(shuō)明

參數(shù)名 類型 必填 參數(shù)描述
bucketName String bucket 名稱
path String 目錄路徑
bizAttr String 目錄屬性信息

返回值說(shuō)明(json)

參數(shù)名 類型 必帶 參數(shù)描述
code Int 錯(cuò)誤碼,成功時(shí)為0
message String 錯(cuò)誤信息

示例

$bizAttr = "folder new attribute";
$result  = $cosApi->updateFolder($bucketName, $path, $bizAttr)

目錄查詢

接口說(shuō)明:用于目錄屬性的查詢,調(diào)用者可以通過(guò)此接口查詢目錄的屬性。

原型方法

public function statFolder($bucketName, $path);

參數(shù)說(shuō)明

參數(shù)名 類型 必填 參數(shù)描述
bucketName String bucket 名稱
path String 目錄路徑

返回值說(shuō)明(json)

參數(shù)名 類型 必帶 參數(shù)描述
code Int 錯(cuò)誤碼,成功時(shí)為0
message String 錯(cuò)誤信息
data Array 目錄屬性數(shù)據(jù),請(qǐng)參考《Restful API 目錄查詢》

示例

$result = $cosApi->statFolder($bucketName, $path);

刪除目錄

接口說(shuō)明:用于目錄的刪除,調(diào)用者可以通過(guò)此接口刪除空目錄,如果目錄中存在有效文件或目錄,將不能刪除。

方法原型

public function delFolder($bucketName, $path);

參數(shù)說(shuō)明

參數(shù)名 類型 必填 參數(shù)描述
bucketName String bucket 名稱
path String 目錄全路徑

返回值說(shuō)明(json)

參數(shù)名 類型 必帶 參數(shù)描述
code Int 錯(cuò)誤碼,成功時(shí)為0
message String 錯(cuò)誤信息

示例

$result = $cosApi->delFolder($bucketName, $path);

列舉目錄中的文件和目錄

接口說(shuō)明:用于列舉目錄下文件和目錄,可以通過(guò)此接口查詢目錄下的文件和目錄屬性。

方法原型

public function listFolder($bucketName, $path, $num = 20, $pattern = 'eListBoth', $context = null);

參數(shù)說(shuō)明

參數(shù)名 類型 必填 參數(shù)描述
bucketName String bucket名稱
path String 目錄的全路徑
num int 要查詢的目錄/文件數(shù)量
context String 透?jìng)髯侄?,查看第一?yè),則傳空字符串。若需要翻頁(yè),需要將前一頁(yè)返回值中的context透?jìng)鞯絽?shù)中。
pattern String eListBoth:列舉文件和目錄;eListDirOnly:僅列舉目錄;eListFileOnly:僅列舉文件

返回值說(shuō)明(json)

參數(shù)名 類型 必帶 參數(shù)描述
code Int API 錯(cuò)誤碼,成功時(shí)為0
message String 錯(cuò)誤信息
data Array 返回?cái)?shù)據(jù),請(qǐng)參考《Restful API 目錄列表》

示例

$result = $cosApi->listFolder($bucketName, $path, 20, 'eListBoth',0);

列舉目錄下指定前綴文件&目錄

接口說(shuō)明:用于列舉目錄下指定前綴的文件和目錄,可以通過(guò)此接口查詢目錄下的指定前綴的文件和目錄信息。

原型方法

public function prefixSearch($bucketName, $prefix, $num = 20, $pattern = 'eListBoth', 
$context = null);

參數(shù)說(shuō)明

參數(shù)名 類型 必填 參數(shù)描述
bucketName String bucket名稱,bucket創(chuàng)建參見(jiàn)創(chuàng)建Bucket
prefix String 列出含此前綴的所有文件(帶全路徑)
num int 要查詢的目錄/文件數(shù)量
context String 透?jìng)髯侄?,查看第一?yè),則傳空字符串。若需要翻頁(yè),需要將前一頁(yè)返回值中的context透?jìng)鞯絽?shù)中。
pattern String eListBoth:列舉文件和目錄;eListDirOnly:僅列舉目錄;eListFileOnly:僅列舉文件

返回值說(shuō)明(json)

參數(shù)名 類型 必帶 參數(shù)描述
code Int 錯(cuò)誤碼,成功時(shí)為0
message String API 錯(cuò)誤信息
data Array 返回?cái)?shù)據(jù),請(qǐng)參考《Restful API 目錄列表》

示例

$prefix= "/myFolder/2015-";
$result = $cosApi->prefixSearch($bucketName, $prefix, 20, 'eListBoth',0);

文件操作

文件上傳

接口說(shuō)明:文件上傳的統(tǒng)一接口,對(duì)于大于20M的文件,內(nèi)部會(huì)通過(guò)多次分片的方式進(jìn)行文件上傳。

原型方法

public function upload($bucketName, $srcPath, $dstPath, 
               $bizAttr = null, $slicesize = null, $insertOnly = null);

參數(shù)說(shuō)明

參數(shù)名 類型 必填 參數(shù)描述
bucketName String bucket名稱,bucket創(chuàng)建參見(jiàn)創(chuàng)建Bucket
srcPath String 本地要上傳文件的全路徑
dstPath String 文件在COS服務(wù)端的全路徑,不包括/appid/bucketname
bizAttr String 文件屬性,業(yè)務(wù)端維護(hù)
slicesize int 文件分片大小,當(dāng)文件大于20M時(shí),SDK內(nèi)部會(huì)通過(guò)多次分片的方式進(jìn)行上傳,默認(rèn)分片大小為1M,支持的最大分片大小為3M
insertOnly int 同名文件是否進(jìn)行覆蓋。0:覆蓋;1:不覆蓋

返回值說(shuō)明(json)

參數(shù)名 類型 必帶 參數(shù)描述
code Int 錯(cuò)誤碼,成功時(shí)為0
message String 錯(cuò)誤信息
data Array 返回?cái)?shù)據(jù),請(qǐng)參考《Restful API 創(chuàng)建文件》

示例

$dstPath = "/myFolder/test.mp4";
$bizAttr = "";
$insertOnly = 0;
$sliceSize = 3 * 1024 * 1024;
$result = $cosApi->upload($bucketName,$srcPath,$dstPath ,"biz_attr");

文件屬性更新

接口說(shuō)明:用于目錄業(yè)務(wù)自定義屬性的更新,可以通過(guò)此接口更新業(yè)務(wù)的自定義屬性字段。

原型方法

public function update($bucketName, $path, 
                  $bizAttr = null, $authority=null,$customer_headers_array=null);

參數(shù)說(shuō)明

參數(shù)名 類型 必填 參數(shù)描述
bucketName String bucket 名稱
path String 文件在文件服務(wù)端的全路徑,不包括/appid/bucketname
bizAttr String 待更新的文件屬性信息
authority String eInvalid(繼承Bucket的讀寫(xiě)權(quán)限);eWRPrivate(私有讀寫(xiě));eWPrivateRPublic(公有讀私有寫(xiě))
customer_headers_array String 用戶自定義頭域??蓴y帶參數(shù)名分別為:'Cache-Control'、'Content-Type'、'Content-Disposition'、'Content-Language'、以及以'x-cos-meta-'為前綴的參數(shù)名稱

返回值說(shuō)明(json)

參數(shù)名 類型 必帶 參數(shù)描述
code Int 錯(cuò)誤碼,成功時(shí)為0
message String 錯(cuò)誤信息

示例

$bizAttr = "";
$authority = "eWPrivateRPublic";
$customer_headers_array = array(
    'Cache-Control' => "no",
    'Content-Language' => "ch",
);
$result = $cosApi->update($bucketName, $dstPath, $bizAttr,$authority, $customer_headers_array);

文件查詢

接口說(shuō)明:用于文件的查詢,調(diào)用者可以通過(guò)此接口查詢文件的各項(xiàng)屬性信息。

原型方法

 public function stat($bucketName, $path); 

參數(shù)說(shuō)明

參數(shù)名 類型 必填 參數(shù)描述
bucketName String bucket 名稱
path String 文件在文件服務(wù)端的全路徑

返回值說(shuō)明(json)

參數(shù)名 類型 必帶 參數(shù)描述
code Int 錯(cuò)誤碼,成功時(shí)為0
message String 錯(cuò)誤信息
data Array 文件屬性數(shù)據(jù),請(qǐng)參考《Restful API 文件查詢》

示例

$result = $cosApi->stat($bucketName, $path);

文件刪除

接口說(shuō)明:用于文件的刪除,調(diào)用者可以通過(guò)此接口刪除已經(jīng)上傳的文件。

原型方法

public function delFile($bucketName, $path);

參數(shù)說(shuō)明

參數(shù)名 類型 必填 參數(shù)描述
bucketName String bucket 名稱
path String 文件的全路徑

返回值說(shuō)明(json)

參數(shù)名 類型 必帶 參數(shù)描述
code Int 錯(cuò)誤碼,成功時(shí)為0
message String 錯(cuò)誤信息

示例

$result = $cosApi->delFile($bucketName, $path);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 點(diǎn)擊查看原文 Web SDK 開(kāi)發(fā)手冊(cè) SDK 概述 網(wǎng)易云信 SDK 為 Web 應(yīng)用提供一個(gè)完善的 IM 系統(tǒng)...
    layjoy閱讀 14,314評(píng)論 0 15
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,568評(píng)論 19 139
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,057評(píng)論 25 709
  • 9月12日,《奇葩說(shuō)》的辯題是:“高學(xué)歷女生做全職太太是不是一種浪費(fèi)?” 這個(gè)題中有兩個(gè)陷阱,“女性”、“全職太太...
    說(shuō)啥看心情閱讀 2,057評(píng)論 5 21
  • 我們懂得,沒(méi)有誰(shuí)的苦難獨(dú)一無(wú)二,沒(méi)有誰(shuí)的生活云淡風(fēng)輕。但知道這一點(diǎn),并不意味著,我們就得用雞湯文里面的標(biāo)準(zhǔn),...
    旸科閱讀 448評(píng)論 2 1

友情鏈接更多精彩內(nèi)容