PHP实现阿里OSS对象存储

一:阿里OSS文档地址

官方文档:https://help.aliyun.com/zh/oss/

github地址:https://github.com/aliyun/aliyun-oss-php-sdk

二:安装阿里OSS拓展

复制代码
composer require aliyuncs/oss-sdk-php

三:阿里OSS使用教程

1:初始化

复制代码
try {
    $ossClient = new OssClient('access_key_id', 'access_key_secret', 'internal_endpoint【Endpoint内网地址,不设置时直接使用endpoint外网地址】');
} catch (OssException $e) {
    return $e->getMessage();
}

2:创建存储空间

复制代码
$ossClient->createBucket('bucket【存储空间名称】')

3:判断存储空间是否存在

复制代码
$ossClient->doesBucketExist('bucket【存储空间名称】')

4:文件上传

复制代码
try{
    $bucket= "bucket";//存储空间名称
    // 填写Object完整路径,例如exampledir/exampleobject.txt。Object完整路径中不能包含Bucket名称。
    $object = "exampledir/exampleobject.txt";
    // 填写本地文件的完整路径,例如D:\\localpath\\examplefile.txt。如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件。
    $filePath = "D:\\localpath\\examplefile.txt";
    $ossClient->uploadFile($bucket, $object, $filePath);
} catch(OssException $e) {
    return $e->getMessage();
}

5:获取上传的文件地址

复制代码
$internal = false;//是否使用内网地址访问
$bucket = '存储对象名称';
$rootPath = '文件存储根目录(当有多个项目使用同一个bucket时,以此将不同项目的文件进行隔离存储)';
if ($internal) {
    $endpoint = 'Endpoint内网地址';
} else {
    $endpoint = 'bucket存储对象自定义域名地址';
    if ($endpoint) {
        return "https://{$endpoint}/" . '存储地址';
    }
    $endpoint = 'Endpoint外网地址';
}

return "https://{$bucket}.{$endpoint}/" . '存储地址';

其他方法请参考官方文档

相关推荐
Suckerbin1 小时前
第十一章-PHP表单传值
开发语言·php
FreeBuf_1 小时前
新型“电力寄生虫“网络钓鱼攻击瞄准能源企业与知名品牌
网络·php·能源
元亓亓亓1 小时前
Java后端开发day38--不可变集合&Stream流
java·开发语言
努力创造奇迹2 小时前
C 语言联合体、枚举、typedef 详解
c语言·开发语言
AI_RSER2 小时前
Python 数据可视化全场景实现(一)
开发语言·人工智能·python·信息可视化·遥感
eqwaak02 小时前
Matplotlib高阶技术全景解析(续):动态交互、三维可视化与性能优化
开发语言·python·语言模型·性能优化·交互·matplotlib
愚润求学2 小时前
【专题四】前缀和(3)
开发语言·c++·笔记·leetcode·刷题·c++11
hu_yuchen2 小时前
C++:智能指针
开发语言·c++
类似不类似2 小时前
快速配置linux远程开发-go语言
开发语言·后端·golang
永进,2 小时前
C++中的智能指针
开发语言·c++