基于PHP实现阿里云开放存储服务
欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 开放存储服务(OpenStorageService,简称OSS),是阿里云对外提供的海量,安全,低成本,高可靠的云存储服务。用户可以通过简单的API(REST方式的接口),在任何时间、任何地点、任何互联网设备上进行
欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入
开放存储服务(OpenStorageService,简称OSS),是阿里云对外提供的海量,安全,低成本,高可靠的云存储服务。用户可以通过简单的API(REST方式的接口),在任何时间、任何地点、任何互联网设备上进行数据上传和下载。
首先、登录阿里云首页免费开通服务。
开通以后,进入"管理控制台"--进入"开发存储服务OSS",进入到控制台。
其次、下载SDK
解压后在samples文件夹内新建一个index.php文件
require_once dirname(__DIR__)。'/aliyun.php';
use Aliyun\OSS\OSSClient;
// 创建一个连接阿里云开放存储的客户端
function createClient($accessKeyId, $accessKeySecret) {
return OSSClient::factory(array(
'AccessKeyId' => $accessKeyId, //AccessKeyId在"用户中心"--"我的服务"--"安全认证"
'AccessKeySecret' => $accessKeySecret,
));
}
//获取所有bucket
//bucket是水桶的意思,可以理解为容器,里面装了各种各样的东西,也就是key=>value
function listBuckets(OSSClient $client) {
$buckets = $client->listBuckets();
foreach ($buckets as $bucket) {
echo 'Bucket: ' . $bucket->getName() . "\n";
}
}
//新建bucket
function createBucket(OSSClient $client, $bucket) {
$client->createBucket(array( 'Bucket' => $bucket, ));
}
// Sample of get Bucket Acl
function getBucketAcl(OSSClient $client, $bucket) {
$acl = $client->getBucketAcl(array( 'Bucket' => $bucket, ));
$grants = $acl->getGrants(); echo $grants[0];
}
//获取bucket的所有key
function getBucketKey(OSSClient $client, $bucket){
$objectListing = $client->listObjects(array( 'Bucket' => $bucket, ));
foreach ($objectListing->getObjectSummarys() as $objectSummary) {
$objectSummary->getKey();
}
}
//向某个bucket上传内容,可以字符串或者文件
function upload(OSSClient $client, $bucket,$key,$content,$type){
isset($type)?$type:0;
if($type == 0){
$type = gettype($content);
//如果上传内容为数组或者对象,需要进行序列化
if($type == "array" || $type == "object") {
$content = serialize($content);
}
$client->putObject(array( 'Bucket' => $bucket, 'Key' => $key, 'Content' => $content, ));
}else{
$client->putObject(
array( 'Bucket' => $bucket,
'Key' => $key,
'Content' => fopen($content, 'r'),
'ContentLength' => filesize($content),
));
}
}
[1] [2]
推荐阅读
-
SpringBoot整合阿里云OSS对象存储服务实现文件上传
-
SpringBoot整合阿里云OSS对象存储服务的实现
-
Laravel框架中实现使用阿里云ACE缓存服务,laravel阿里_PHP教程
-
JAVA+PHP+阿里云组件纯手工实现POP、SMTP、IMAP开发邮件服务器(2)
-
Ubuntu安装LNMP(Nginx1.8, PHP7.0.4, MySQL5.6,基于阿里云服务器)
-
Thinkphp3.1配置阿里云oss开放存储云服务
-
Laravel框架中实现使用阿里云ACE缓存服务_PHP
-
SpringBoot整合阿里云OSS对象存储服务实现文件上传
-
Thinkphp3.1配置阿里云oss开放存储云服务
-
Laravel框架中实现使用阿里云ACE缓存服务_PHP