网易云的对象存储接口是开放了部分兼容 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