使用 AWS S3的 PHP SDK

网易云的对象存储接口是开放了部分兼容 S3 的方法,具体说明参考官方说明通过 S3 的 PHP SDK 是可以操作网易云的对象存储的。具体操作步骤如下:

安装 SDK

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer    
chmod +x /usr/local/bin/composer

新建一个目录为 php,在其中执行

composer require aws/aws-sdk-php

注: 国内网络可能执行此命令无反应,原因是因为Great Firewall (of China),建议通过 github 获取,地址在这里

得到目录结构如下

# ls
composer.json  composer.lock  vendor

初始化部分代码

1.创建一个 createbucket.php 的文件,内容如下

<?
require 'vendor/autoload.php';
use Aws\S3\S3Client;
$client = new S3Client([
    'version' => 'latest',
    'region' => 'us-east-1', # 可用区必须是这个
    'credentials' => [
        'key'    => 'ada35f4a19ac0bea6aedd1c5ed3bbea1', # AccessKey
        'secret' => '9c31953f54882587e67369e970d02262', # SecretKey
    ],
    'endpoint'      => 'https://nos-eastchina1.126.net' # Endpoint
]);   

2.测试创建桶

$bucketName = 'netease3456'; # 桶名
try {
    $result = $client->createBucket([
        'Bucket' => $bucketName, // REQUIRED
        'ACL'    => 'public-read',
    ]);
} catch (Aws\S3\Exception\S3Exception $e) {
    // output error message if fails
    echo $e->getMessage();
}

注: 网易云的接口暂时还不支持子账号创建桶,如需要可以使用网易云的 nos-php-sdk