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}/" . '存储地址';

其他方法请参考官方文档

相关推荐
F***c3254 分钟前
PHP在微服务中的分布式跟踪
分布式·微服务·php
毕设源码余学姐26 分钟前
计算机毕设 java 中医药药材分类采购网站 SSM 框架药材交易平台 Java 开发的分类采购与订单管理系统
java·开发语言·课程设计
降临-max1 小时前
JavaSE---网络编程
java·开发语言·网络·笔记·学习
湖边看客1 小时前
antd x6 + vue3
开发语言·javascript·vue.js
小离a_a1 小时前
flex垂直布局,容器间距相等
开发语言·javascript·ecmascript
chxii2 小时前
PHP 配置全解析:Apache vs Nginx 的线程安全差异与 Windows 实战指南
运维·php
傻啦嘿哟2 小时前
物流爬虫实战:某丰快递信息实时追踪技术全解析
java·开发语言·数据库
用户607320369452 小时前
PHP cURL 接口调不通?最全故障排查流程来了(新手必收藏)
php
码力码力我爱你2 小时前
Harmony OS C++实战
开发语言·c++
茄子凉心2 小时前
android 开机启动App
android·java·开发语言