全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 智能硬件 ET大脑
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 更多
对象存储 OSS

初始化

更新时间:2018-07-23 18:02:16

OssClient是OSS的PHP客户端,用于管理存储空间和文件等OSS资源。

新建OssClient

新建OSSClient时,需要指定Endpoint。有关Endpoint的更多信息,请参见访问域名和数据中心和自定义访问域名

使用OSS域名新建OssClient

以下代码用于使用OSS域名新建OssClient:

  1. <?php
  2. if (is_file(__DIR__ . '/../autoload.php')) {
  3. require_once __DIR__ . '/../autoload.php';
  4. }
  5. if (is_file(__DIR__ . '/../vendor/autoload.php')) {
  6. require_once __DIR__ . '/../vendor/autoload.php';
  7. }
  8. use OSS\OssClient;
  9. use OSS\Core\OssException;
  10. // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
  11. $accessKeyId = "<yourAccessKeyId>";
  12. $accessKeySecret = "<yourAccessKeySecret>";
  13. // Endpoint以杭州为例,其它Region请按实际情况填写。
  14. $endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
  15. try {
  16. $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
  17. } catch (OssException $e) {
  18. print $e->getMessage();
  19. }

使用自定义域名新建OssClient

以下代码用于使用自定义域名新建OssClient:

  1. <?php
  2. if (is_file(__DIR__ . '/../autoload.php')) {
  3. require_once __DIR__ . '/../autoload.php';
  4. }
  5. if (is_file(__DIR__ . '/../vendor/autoload.php')) {
  6. require_once __DIR__ . '/../vendor/autoload.php';
  7. }
  8. use OSS\OssClient;
  9. use OSS\Core\OssException;
  10. // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
  11. $accessKeyId = "<yourAccessKeyId>";
  12. $accessKeySecret = "<yourAccessKeySecret>";
  13. $endpoint = "<yourEndpoint>";
  14. try {
  15. // true为开启CNAME。CNAME是指将自定义域名绑定到存储空间上。
  16. $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint, true);
  17. } catch (OssException $e) {
  18. print $e->getMessage();
  19. }

说明:使用自定义域名时,无法使用listBuckets方法。

使用STS新建OssClient

以下代码用于使用STS新建OssClient:

  1. <?php
  2. if (is_file(__DIR__ . '/../autoload.php')) {
  3. require_once __DIR__ . '/../autoload.php';
  4. }
  5. if (is_file(__DIR__ . '/../vendor/autoload.php')) {
  6. require_once __DIR__ . '/../vendor/autoload.php';
  7. }
  8. use OSS\OssClient;
  9. use OSS\Core\OssException;
  10. // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
  11. $accessKeyId = "<yourAccessKeyId>";
  12. $accessKeySecret = "<yourAccessKeySecret>";
  13. // Endpoint以杭州为例,其它Region请按实际情况填写。
  14. $endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
  15. $securityToken = "<yourSecurityToken>";
  16. try {
  17. $ossClient = new OssClient(
  18. $accessKeyId, $accessKeySecret, $endpoint, false, $securityToken);
  19. } catch (OssException $e) {
  20. print $e->getMessage();
  21. }

更多信息请参见RAM和STS介绍授权访问

使用代理服务器新建OssClient

PHP 5.3以上版本支持使用代理服务器新建OssClient,代码如下:

  1. <?php
  2. if (is_file(__DIR__ . '/../autoload.php')) {
  3. require_once __DIR__ . '/../autoload.php';
  4. }
  5. if (is_file(__DIR__ . '/../vendor/autoload.php')) {
  6. require_once __DIR__ . '/../vendor/autoload.php';
  7. }
  8. use OSS\OssClient;
  9. use OSS\Core\OssException;
  10. // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
  11. $accessKeyId = "<yourAccessKeyId>";
  12. $accessKeySecret = "<yourAccessKeySecret>";
  13. // 代理服务器地址,例如http://<您的用户名>:<您的密码>@<代理ip>:<代理端口>。
  14. $requestProxy = "<yourRequestProxy>";
  15. // Endpoint以杭州为例,其它Region请按实际情况填写。
  16. $endpoint = "http://oss-cn-hangzhou.aliyuncs.com>";
  17. try {
  18. $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint, false, $requestProxy);
  19. } catch (OssException $e) {
  20. print $e->getMessage();
  21. }

配置网络参数

以下代码用于配置OssClient网络参数:

  1. <?php
  2. if (is_file(__DIR__ . '/../autoload.php')) {
  3. require_once __DIR__ . '/../autoload.php';
  4. }
  5. if (is_file(__DIR__ . '/../vendor/autoload.php')) {
  6. require_once __DIR__ . '/../vendor/autoload.php';
  7. }
  8. use OSS\OssClient;
  9. use OSS\Core\OssException;
  10. // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
  11. $accessKeyId = "<yourAccessKeyId>";
  12. $accessKeySecret = "<yourAccessKeySecret>";
  13. // Endpoint以杭州为例,其它Region请按实际情况填写。
  14. $endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
  15. try {
  16. $ossClient = new OssClient(
  17. $accessKeyId, $accessKeySecret, $endpoint);
  18. // 设置Socket层传输数据的超时时间,单位秒,默认5184000秒。
  19. $ossClient->setTimeout(3600);
  20. // 设置建立连接的超时时间,单位秒,默认10秒。
  21. $ossClient->setConnectTimeout(10);
  22. } catch (OssException $e) {
  23. print $e->getMessage();
  24. }
本文导读目录