当前位置: 首页 > news >正文

PHP实现华为OBS存储

一:华为OBS存储文档地址

官方文档:https://support.huaweicloud.com/obs/index.html

github地址:https://github.com/huaweicloud/huaweicloud-sdk-php-obs

二:安装华为OBS拓展

composer require obs/esdk-obs-php

三:华为OBS使用教程

1:初始化

$obsClient = new ObsClient(['key' => 'ACCESS_KEY_ID','secret' => 'SECRET_ACCESS_KEY','endpoint' => 'endpoint地址',
]);

2:创建桶

// 创建桶
$resp = $obsClient->createBucket([//桶名称'Bucket' => 'bucketname',// 设置桶访问权限为公共读,默认是私有读写'ACL' => ObsClient::AclPublicRead,// 设置桶的存储类型为标准存储类型'StorageClass' => ObsClient::StorageClassStandard,// 设置桶区域位置'LocationConstraint' => 'bucketlocation'
]);

3:判断桶是否存在

try{$resp = $obsClient->headBucket([//桶名称'Bucket' => 'bucketname']);printf("Bucket exists");
}catch (\Obs\Common\ObsException $obsException){if($obsException->getStatusCode() === 404){printf("Bucket does not exist");}else{printf("ExceptionCode:%s\n", $obsException->getExceptionCode());       printf("getExceptionMessage:%s\n", $obsException->getExceptionMessage());}
}

4:文件上传

$resp = $obsClient->putObject([//桶名称'Bucket' => 'bucketname',//文件保存地址'Key' => 'test.txt',//上传文件地址'SourceFile' => 'test/test.txt',//设置上传文件访问权限(公共读),默认继承桶的访问权限'ACL' => ObsClient::AclPublicRead
]);

5:获取上传的文件地址

$internal = false;//是否使用内网地址访问
$bucket = '存储桶名称';
$rootPath = '文件存储根目录';
if ($internal) {$endpoint = 'Endpoint内网地址';
} else {$endpoint = 'bucket存储对象自定义域名地址';if ($endpoint) {return "https://{$endpoint}/" . '存储地址';}$endpoint = 'Endpoint外网地址';
}return "https://{$bucket}.{$endpoint}/" . '存储地址';

其他方法请参考官方文档

http://www.lryc.cn/news/503440.html

相关文章:

  • 嵌入式 linux Git常用命令 抽补丁 打补丁
  • Alan Chhabra:MongoDB AI应用程序计划(MAAP) 为客户提供价值
  • 【学习笔记】目前市面中手持激光雷达设备及参数汇总
  • Burp与小程序梦中情缘
  • 数据结构:Win32 API详解
  • 迁移学习中模型训练加速(以mllm模型为例),提速15%以上
  • socket编程UDP-实现停等机制(接收确认、超时重传)
  • 前端面试题目 (Node.JS-Express框架)[二]
  • 防范TCP攻击:策略与实践
  • 3D 生成重建034-NerfDiff借助扩散模型直接生成nerf
  • 分布式 Paxos算法 总结
  • 我的宝贵经验
  • geoserver 瓦片地图,tomcat和nginx实现负载均衡
  • Jenkins 启动 程序 退出后 被杀死问题
  • SEGGER | 基于STM32F405 + Keil - RTT组件01 - 移植SEGGER RTT
  • 分布式开发学习
  • freeswitch(开启支持MCU视频会议,使用mod_av模块)
  • Vue3常见api使用指南(TS版)
  • 分布式 分布式事务 总结
  • onnx文件转pytorch pt模型文件
  • 智能座舱人机交互升级
  • RabbitMQ中点对点(Point-to-Point)通讯方式的Java实现
  • 爬虫实战:获取1688接口数据全攻略
  • 生成树协议STP工作步骤
  • Android14 AOSP支持短按关机
  • C# 和 go 关于can通信得 整理
  • vue常用命令汇总
  • 【C++习题】18.逆波兰表达式求值
  • 本地如何使用 yarn link 调试本地 npm 包
  • 江恩45年一书的自己一点读书见解