PHPackages                             kalax2/huaweicloud-obs-client - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. kalax2/huaweicloud-obs-client

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

kalax2/huaweicloud-obs-client
=============================

HuaweiCloud OBS Client for PHP

1.0.0(1y ago)0621MITPHPPHP &gt;=8.0

Since Sep 5Pushed 1y ago1 watchersCompare

[ Source](https://github.com/kalax2/huaweicloud-obs-client)[ Packagist](https://packagist.org/packages/kalax2/huaweicloud-obs-client)[ RSS](/packages/kalax2-huaweicloud-obs-client/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (2)Versions (2)Used By (1)

简介
--

[](#简介)

华为云对象存储服务OBS PHP Client

❗ 请务必先阅读官方文档： ❗

环境要求：

- php&gt;=8.0
- ext-json
- ext-simplexml

使用方法
----

[](#使用方法)

安装

```
composer require kalax2/huaweicloud-obs-client
```

示例

```
use Kalax2\Obs\ObsClient;
use Kalax2\Obs\Exception\ObsException;

$obsClient = new ObsClient(
    // Access Key
    accessKey: 'AccessKey',
    // Secret Key
    secretKey: 'SecretKey',
    // 地域，注意不是控制台的Endpoint域名
    // 请看地域列表：https://console.huaweicloud.com/apiexplorer/#/endpoint/OBS
    region: 'cn-north-1',
    // 存储桶名称
    bucket: 'BucketName',
    // guzzleHttp的配置，可选
    guzzleConfig: []
)

try {
    // 获取桶元数据
    $response = $obsClient->getBucketMetadata();
    // 通过ObsResponse->getHeaders() 获取全部响应头
    $response->getHeaders();
    // 另外也可以通过数组方式访问响应头
    // 如果响应头的名称是"x-obs-"开头，则通过去掉"x-obs-"前缀剩余部分为PascalCase命名方式访问
    // 例如桶的地域信息响应头为“x-obs-bucket-location”，则通过一下方式可以访问
    $bucketLocation = $response['BucketLocation'];
    // 以"Access-Control-"开头的也以同样规则访问
    $allowOrigin = $response['AllowOrigin'];

    // 上传文件
    $response = $obsClient->putObject(
        object: 'README.md',
        body: fopen('./README.md', 'r'),
        headers: [
            'Content-Type' => 'text/plain; charset=utf-8'
        ]
    );

    // 设置对象标签
    // 请参考官方文档：https://support.huaweicloud.com/api-obs/obs_04_0172.html
    // 如果传入的是数组则不需要提供root节点，这里的root节点为
    $xml = [
        'TagSet' => [
            'Tag' => [
                [
                    'Key' => 'key1',
                    'Value' => 'value1'
                ],
                [
                    'Key' => 'key2',
                    'Value' => 'value3'
                ],
            ]
        ]
    ];

    // 另外也可以直接传入xml字符串
    $xml =
