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

新建OssClient

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

  • 使用OSS域名新建OssClient

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

    <?php
    if (is_file(__DIR__ . '/../autoload.php')) {
        require_once __DIR__ . '/../autoload.php';
    }
    if (is_file(__DIR__ . '/../vendor/autoload.php')) {
        require_once __DIR__ . '/../vendor/autoload.php';
    }
    
    use OSS\OssClient;
    use OSS\Core\OssException;
    
    // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录https://console.cloud.tmall.com创建RAM账号。
    $accessKeyId = "<yourAccessKeyId>";
    $accessKeySecret = "<yourAccessKeySecret>";
    // Endpoint以杭州为例,其它Region请按实际情况填写。
    $endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
    
    try {
        $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
    } catch (OssException $e) {
        print $e->getMessage();
    }
  • 使用自定义域名新建OssClient

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

    <?php
    if (is_file(__DIR__ . '/../autoload.php')) {
        require_once __DIR__ . '/../autoload.php';
    }
    if (is_file(__DIR__ . '/../vendor/autoload.php')) {
        require_once __DIR__ . '/../vendor/autoload.php';
    }
    
    use OSS\OssClient;
    use OSS\Core\OssException;
    
    // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://console.cloud.tmall.com 创建RAM账号。
    $accessKeyId = "<yourAccessKeyId>";
    $accessKeySecret = "<yourAccessKeySecret>";
    $endpoint = "<yourEndpoint>";
    
    try {
        // true为开启CNAME。CNAME是指将自定义域名绑定到存储空间上。
        $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint, true);
    } catch (OssException $e) {
        print $e->getMessage();
    }
    说明 使用自定义域名时,无法使用listBuckets方法。
  • 使用STS新建OssClient

    以下代码用于使用STS新建一个OSSClient:

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

    更多信息请参见授权访问

  • 使用代理服务器新建OssClient

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

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

配置网络参数

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

<?php
if (is_file(__DIR__ . '/../autoload.php')) {
    require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
    require_once __DIR__ . '/../vendor/autoload.php';
}

use OSS\OssClient;
use OSS\Core\OssException;

// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录https://console.cloud.tmall.com创建RAM账号。
$accessKeyId = "<yourAccessKeyId>";
$accessKeySecret = "<yourAccessKeySecret>";
// Endpoint以杭州为例,其它Region请按实际情况填写。
$endpoint = "http://oss-cn-hangzhou.aliyuncs.com";

try {
    $ossClient = new OssClient(
        $accessKeyId, $accessKeySecret, $endpoint);
    // 设置Socket层传输数据的超时时间,单位秒,默认5184000秒。
    $ossClient->setTimeout(3600);
    // 设置建立连接的超时时间,单位秒,默认10秒。
    $ossClient->setConnectTimeout(10);
} catch (OssException $e) {
    print $e->getMessage();
}