1.SDK名稱版本:aws-php-sdk-v2
由于最新版本的cos已經(jīng)完全兼容s3,那么用aws的sdk來使用cos的服務也變成了一件可行的事情,這里我來分享一下如何通過aws-php-sdk來使用cos的服務
2.使用教程
1.獲取aws-php-sdk-v2
下載并安裝aws-php-sdk-v2。
具體步驟詳見官網(wǎng)文檔:
http://docs.aws.amazon.com/aws-sdk-php/v2/guide/quick-start.html
使用composer安裝即可
{
"require": {
"aws/aws-sdk-php": "2.*"
}
}
2.使用示例
配置
新建一個config.php的文件,內(nèi)容如下
<?php
require '/path/to/vendor/autoload.php';
use Aws\S3\S3Signature;
return array(
'includes' => array('_aws'),
'services' => array(
'default_settings' => array(
'params' => array(
'key' => 'your access id',
'secret' => 'your access key',
'region' => 'cn-north',
'endpoint'=>'http://cn-north.myqcloud.com/',
'host' => 'cn-north.myqcloud.com',
'signature' => new S3Signature(),
)
)
)
);
常見功能使用(上傳、下載、刪除...)
<?php
#填寫vendor的路徑
require '/path/to/vendor/autoload.php';
use Aws\Common\Aws\S3Client;
use Aws\S3\Exception\S3Exception;
use Aws\Common\Aws;
#調用配置文件
$aws = Aws::factory('config.php');
$s3Client = $aws->get('s3');
#創(chuàng)建bucket
/*
Bucket 為"<bucket>-<appid>"
*/
$result = $s3Client->createBucket(array('Bucket' => 'lewzylu1120-1252448703'));
#刪除bucket
/*
Bucket 為"<bucket>-<appid>"
*/
$result = $s3Client->deleteBucket(array('Bucket' => 'lewzylu1120-1252448703'));
#get bucket
/*
Bucket 為"<bucket>-<appid>"
*/
$result = $s3Client->getBucket(array('Bucket' => 'lewzylu1120-1252448703'));
#上傳文件
/*
Bucket 為"<bucket>-<appid>"
Key 為文件名
Body 為文件內(nèi)容
*/
$result = $s3Client->putObject(array(
'Bucket' => 'lewzylu1120-1252448703',
'Key' => '11.txt',
'Body'=> '123213123'
));
#分塊上傳
$file = file_get_contents(object_path);
$s3Client->upload(
$bucket = 'lewzylu05-1252448703',
$key="999.txt",
$body=$file
);
#下載文件
/*
Bucket 為"<bucket>-<appid>"
Key 為文件名
*/
$result = $s3Client->getObject(array(
'Bucket' => 'lewzylu1120-1252448703',
'Key' => '11.txt',
));
/*
更多操作詳見s3官方文檔
*/