php项目接入阿里云oss

208 阅读1分钟
oss:对象存储服务
作用:1、头像、文件、数据存储,要求对数据实时性要求不是很高,区别于redis这种内存存储
https://help.aliyun.com/document_detail/31818.html?spm=a2c4g.11186623.6.552.eee75afecvOEfk

php-sdk:https://help.aliyun.com/document_detail/32099.html?spm=a2c4g.11186623.6.998.7e94f2eevxYBMB

用法:增删改查(参考文档api)

简介:一个bucket就类似一个数据库,有专门的accessKeyId,accessKeySecret,bucket;
不同的accessKeyId有不同的权限,需要管理员分配不同的权限

问题:putObject()写入的数据默认是归档存储Archive类型,取得时候需要解冻,可以在上传的时候指定存储类型
      取数据的时候是要签名。

oss不同存储类型比较:https://blog.csdn.net/z136370204/article/details/108826798

$accessKeyId = '*** *** ***'
$accessKeySecret = '*** *** ***'
$endpoint = '*** *** ***'
$bucket = '*** *** ***'

// 设置文件名称。
$object = "uid_b6f9c8c02851ceb4fa914baa8d9299fe.txt";
$content = 1;
$options = [
    OssClient::OSS_HEADERS => [
        'x-oss-storage-class' => OssClient::OSS_STORAGE_STANDARD,
    ]
];
try {
    $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint, false);
    $ossClient->putObject($bucket, $object, $content, $options);
}catch (\Exception $exception) {
    echo "<pre>";
    print_r($exception->getMessage());
    exit;
}