【OSS】php使用oss存储

阿里云oss官方文档:文档

1、前期工作

  • 创建阿里云账号,登录
  • 创建bucket,注意修改权限,要不然可能读取不到
  • 申请accessKeyId和accessKeySecret accessKey

2、项目中安装OSS扩展

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

3、基础使用教程

php 复制代码
try {
    $ossClient = new OssClient('access_key_id', 'access_key_secret', 'endpoint');
    // 可以从这里创建bucket
    $ossClient->createBucket('bucket【存储空间名称】')
    // 查看空间是否存在
    $ossClient->doesBucketExist('bucket【存储空间名称】')
} catch (OssException $e) {
    return $e->getMessage();
}

4、上传

php 复制代码
try{
    $bucket= "bucket";//存储空间名称
    // 填写Object完整路径,例如:storage/default/20241216/173433347296636.jpg,Object完整路径中不能包含Bucket名称。
    $object = "storage/default/20241216/173433347296636.jpg";
    // 填写本地文件的完整路径,例如文件临时路径$_FILES['file']['tmp_name'],或者D:\\localpath\\examplefile.txt
    $filePath = "C:\Users\78325\AppData\Local\Temp\phpECFC.tmp";

	// 上传
    $ossClient->uploadFile($bucket, $object, $filePath);
} catch(OssException $e) {
    return $e->getMessage();
}

5、上传后在线查看文件

php 复制代码
// https://cxyzoss.oss-cn-beijing.aliyuncs.com/storage/default/20241216/173433238811216.jpg 
// !!! 注意,查看图片时Header传值Content-Type:text/html【不用这个会强制下载】
// [官方预览文档](https://help.aliyun.com/zh/oss/user-guide/how-to-ensure-an-object-is-previewed-when-you-access-the-object#ZkKEz)
return "https://{$bucket}.{$endpoint}/" . '存储地址';
相关推荐
向日葵.2 小时前
fastdds.ignore_local_endpoints 属性
服务器·网络·php
ciku4 小时前
Spring AI 集成阿里云百炼平台
人工智能·spring·阿里云
Agome994 小时前
Docker之自定义jkd镜像上传阿里云
阿里云·docker·容器
dog2508 小时前
难以超越的 TCP AIMD
网络协议·tcp/ip·php
檀越剑指大厂9 小时前
【Linux系列】如何在 Linux 服务器上快速获取公网
linux·服务器·php
Q_Q51100828512 小时前
python的软件工程与项目管理课程组学习系统
spring boot·python·django·flask·node.js·php·软件工程
BingoGo13 小时前
重新学习 PHP 目前短运算符 简化你得代码
后端·php
Fine姐14 小时前
The Network Link Layer: 无线传感器中Delay Tolerant Networks – DTNs 延迟容忍网络
开发语言·网络·php·硬件架构
hotlinhao20 小时前
php版的FormCreate使用注意事项
php·crmeb
鱼鱼说测试1 天前
Jenkins+Python自动化持续集成详细教程
开发语言·servlet·php