Watch 2 Star 1 Fork 1

阿炉 / aliyun-sdk-ossPHPMIT

Join us
Explore and code with more than 5 million developers,Free private repositories !:)
Sign up
阿里云SDK OSS包重构,支持composer方式使用 spread retract

Clone or download
Loading...
README.md

aliyun-sdk-oss

项目介绍

阿里云对象存储(Object Storage Service,简称OSS),是阿里云对外提供的海量、安全、低成本、高可靠的云存储服务。 用户可以通过调用API,在任何应用、任何时间、任何地点上传和下载数据,也可以通过用户Web控制台对数据进行简单的管理。 OSS适合存放任意文件类型,适合各种网站、开发企业及开发者使用。

阿里云SDK OSS包重构,支持composer方式使用

安装教程

  1. 运行环境
  • PHP 5.3+
  • cURL extension
  1. 提示:
  • Ubuntu下可以使用apt-get包管理器安装php的cURL扩展 sudo apt-get install php5-curl
    如果您通过composer管理您的项目依赖,可以在你的项目根目录运行:$ composer require jiajialu/aliyun-sdk-oss
    或者在你的composer.json中声明对Aliyun OSS SDK for PHP的依赖:"require": {"jiajialu/aliyun-sdk-oss": "~2.0"}

然后通过composer install安装依赖。composer安装完成后,在您的PHP代码中引入依赖即可:

    require_once __DIR__ . '/vendor/autoload.php';

使用说明

  1. 常用类
类名 解释
AliCloud\OSS\OssClient OSS客户端类,用户通过OssClient的实例调用接口
AliCloud\OSS\Core\OssException OSS异常类,用户在使用的过程中,只需要注意这个异常
  1. OssClient初始化

SDK的OSS操作通过OssClient类完成的,下面代码创建一个OssClient对象:

<?php
   require_once __DIR__ . '/vendor/autoload.php';
   
   use AliCloud\OSS\OssClient;
   use AliCloud\OSS\Core\OssException;
   
   $accessKeyId = "<您从OSS获得的AccessKeyId>"; ;
   $accessKeySecret = "<您从OSS获得的AccessKeySecret>";
   $endpoint = "<您选定的OSS数据中心访问域名,例如oss-cn-hangzhou.aliyuncs.com>";
   try {
       $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
   } catch (OssException $e) {
       print $e->getMessage();
   }
  1. 文件上传 文件(又称对象,Object)是OSS中最基本的数据单元,您可以把它简单地理解为文件,用下面代码可以实现一个Object的上传:
<?php
    $bucket = "<您使用的Bucket名字,注意命名规范>";
    $object = "<您使用的Object名字,注意命名规范>";
    $content = "Hello, OSS!"; // 上传的文件内容
    try {
        $ossClient->putObject($bucket, $object, $content);
    } catch (OssException $e) {
        print $e->getMessage();
    }
  1. 创建bucket

存储空间(又称Bucket)是一个用户用来管理所存储Object的存储空间,对于用户来说是一个管理Object的单元,所有的Object都必须隶属于某个Bucket。您可以按照下面的代码新建一个Bucket:

<?php
    $bucket = "<您使用的Bucket名字,注意命名规范>";
    try {
        $ossClient->createBucket($bucket);
    } catch (OssException $e) {
        print $e->getMessage();
    }
  1. 更多请参考官方文档api:(阿里云oss文档)[https://help.aliyun.com/document_detail/31947.html]

返回结果处理

OssClient提供的接口返回返回数据分为两种:

  • Put,Delete类接口,接口返回null,如果没有OssException,即可认为操作成功
  • Get,List类接口,接口返回对应的数据,如果没有OssException,即可认为操作成功,举个例子:
<?php

    $bucketListInfo = $ossClient->listBuckets();
    $bucketList = $bucketListInfo->getBucketList();
    foreach($bucketList as $bucket) {
        print($bucket->getLocation() . "\t" . $bucket->getName() . "\t" . $bucket->getCreatedate() . "\n");
    }

上面代码中的$bucketListInfo的数据类型是 OSS\Model\BucketListInfo

运行Sample程序

  1. 修改 samples/Config.php, 补充配置信息
  2. 执行 cd samples/ && php RunAll.php

运行单元测试

  1. 执行composer install下载依赖的库

  2. 设置环境变量

     export OSS_ACCESS_KEY_ID=access-key-id
     export OSS_ACCESS_KEY_SECRET=access-key-secret
     export OSS_ENDPOINT=endpoint
     export OSS_BUCKET=bucket-name
  3. 执行 php vendor/bin/phpunit

参与贡献

  1. Fork 本项目
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

Comments ( 0 )

Sign in for post a comment

PHP
1
https://gitee.com/jiajialu/aliyun-sdk-oss.git
git@gitee.com:jiajialu/aliyun-sdk-oss.git
jiajialu
aliyun-sdk-oss
aliyun-sdk-oss
master

Help Search