基于PHP实现阿里云开放存储服务

浏览:
字体:
发布时间:2013-12-17 09:37:26
来源:
开放存储服务(OpenStorageService,简称OSS),是阿里云对外提供的海量,安全,低成本,高可靠的云存储服务。用户可以通过简单的API(REST方式的接口),在任何时间、任何地点、任何互联网设备上进行数据上传和下载。
 
首先、登录阿里云首页http://www.aliyun.com/ 免费开通服务。
 
开通以后,进入"管理控制台"--进入"开发存储服务OSS",进入到控制台。
 
其次、下载SDK http://bbs.aliyun.com/job.php?action=download&aid=41064
 
解压后在samples文件夹内新建一个index.php文件
 
 
 
<?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),
                   ));
      }
}
 
//下载文件
function download(OSSClient $client, $bucket, $key){
      $object = $client->getObject(
          array( 'Bucket' => $bucket,
                 'Key' => $key,
          ));
      echo (string)$object;
 
}
// 删除bucket
function deleteBucket(OSSClient $client, $bucket) {
      $client->deleteBucket(
               array( 'Bucket' => $bucket, ));
 }
$keyId = '5WTGMhX6mQX6Q***';
$keySecret = 'VDISRNuHEY0THb9v1RYv08vj4lc***';
$client = createClient($keyId, $keySecret);
$bucket = 'xiaoqiangbucket';
$key = rand(1,1000);
 
$content = "this is xiaoqiang's content";
//$content = array(1,2,3,4,5,6,7,8);
 
listBuckets($client); //显示所有bucket
 
createBucket($client, $bucket); //新建一个bucket
getBucketAcl($client, $bucket);
download($client, $bucket, $key); //下载key为$key的content
upload($client, $bucket, $key, $content,0); //上传$key=>$content到bucket
var_dump(getBucketKey($client, $bucket));//显示bucket内的所有key
//deleteBucket($client, $bucket); //删除bucket
 至此在客户端实现了控制台的所有操。
 
 
>更多相关文章
24小时热门资讯
24小时回复排行
资讯 | QQ | 安全 | 编程 | 数据库 | 系统 | 网络 | 考试 | 站长 | 关于东联 | 安全雇佣 | 搞笑视频大全 | 微信学院 | 视频课程 |
关于我们 | 联系我们 | 广告服务 | 免责申明 | 作品发布 | 网站地图 | 官方微博 | 技术培训
Copyright © 2007 - 2024 Vm888.Com. All Rights Reserved
粤公网安备 44060402001498号 粤ICP备19097316号 请遵循相关法律法规
');})();