首页 > 其他分享 >TP6 TP8 使用阿里官方OSS SDK方法

TP6 TP8 使用阿里官方OSS SDK方法

时间:2023-09-26 14:01:52浏览次数:55  
标签:code ALIYUN env OSS TP6 file 上传 SDK


安装

composer require aliyuncs/oss-sdk-php

官网:GitHub - aliyun/aliyun-oss-php-sdk: Aliyun OSS SDK for PHP

二、PHP简单上传

官网教程:如何进行字符串上传和文件上传_对象存储 OSS-阿里云帮助中心

引入

use OSS\OssClient;
use OSS\Core\OssException;

上传代码

public function putFile($path,array $postArr=[]){
		$code=200;$msg='成功';$saveName='';

		// 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
		$accessKeyId = env('OSS_ALIYUN.ALIYUN_ACCESSID');
		$accessKeySecret = env("OSS_ALIYUN.ALIYUN_ACCESSSECRET");
		// Endpoint以杭州为例,其它Region请按实际情况填写。
		$endpoint =env("OSS_ALIYUN.ALIYUN_ENDPOINT");
		// 填写Bucket名称,例如examplebucket。
		$bucket= env("OSS_ALIYUN.ALIYUN_BUCKET");

		$file = request()->file('file');
		// <yourObjectName>表示上传文件到OSS时需要指定包含文件后缀,不包含Bucket名称在内的完整路径,例如abc/efg/123.jpg。
		$filePath = file_get_contents($file);//上传文件
		
		// $fileName = $file->getOriginalName();//getOriginalName()方法获取上传文件的原名称
		$ext = $file->getOriginalExtension();
		$saveName = $path.'/'.date('Y-m-d').'/'.md5($file->getOriginalName().date('Y-m-d H:i:s').rand(00000,99999)).'.'.$ext;//重名称文件

		try {
			$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
			$ossData = $ossClient->putObject($bucket, $saveName, $filePath);
		} catch (OssException $e) {
			$code=-200;$msg=$e->getMessage();
		}
		return ['code' => $code,'msg' => $msg,'path'=>$saveName];
    }


标签:code,ALIYUN,env,OSS,TP6,file,上传,SDK
From: https://blog.51cto.com/haibo0668/7608039

相关文章

  • 教程 | 使用 Apache SeaTunnel 同步本地文件到阿里云 OSS
    一直以来,大数据量一直是爆炸性增长,每天几十TB的数据增量已经非常常见,但云存储相对来说还是不便宜的。众多云上的大数据用户特别希望可以非常简单快速的将文件移动到更实惠的S3、OSS上进行保存,这篇文章就来介绍如何使用SeaTunnel来进行到OSS的数据同步。首先简要介绍一下......
  • VSCode 安装插件 Unity 后,一直弹 The .NET Core SDK cannot be located
    如题。明明已经安装了.Net7.0。并且添加到了PATH中。(也就是在终端/CMD可以通过dotnet命令访问到。)但Vscode还是一直弹The.NETCoreSDKcannotbelocated。然后开始下载.Net7.0。解决方案写在了.NETRuntimeInstallTool的细节描述里。按照描述去为对应的......
  • 使用 OpenTelemetry 构建 .NET 应用可观测性(3):.NET SDK 概览
    目录前言概览opentelemetry-dotnetopentelemetry-dotnet-contribopentelemetry-dotnet-instrumentationSDK的基本使用安装依赖ResourcesResourceBuilder.CreateDefault()ResourceBuilder.CreateEmpty()TracingActivitySource&ActivityTracing模块的使用MetricsMeterProvider&......
  • Mysql数据库定时备份到OSS
    背景mysql运行在Docker中,计划每天定时备份数据并存储到阿里云OSS。其中用到了定时任务crontab、云存储管理rclone、shell脚本部署脚本#创建目录mkdir-p~/taskcd~/task#创建主备份脚本touchbackup_main.sh#创建mysql备份脚本,这个后面要传到运行mysql的docker容器to......
  • 看SDK代码
    soc_feature()支持的功能在src/soc/common/feature.c中查找过程,首先看到了有soc_do_init(),从SDK入口看起sdk_init_test() ->system_init() ->soc_reset_init() ->soc_so_init()soc_do_init()中看到有soc=SOC_CONTROL(unit),因为之前追踪soc_feature()发现它就是调用的......
  • 集成赋能 | 一图搞懂石墨文档 SDK
    这是一个高度专业化分工的时代。如果你经营一家餐厅,食材可以直接市场采购,完全不需要自己种植蔬菜瓜果。如果你想开发一款AIGC产品,没有必要自己去开发大模型,调用ChatGPT、文心一言可能是更好的选择。很多时候,相较于所有的事情都“亲力亲为”,选择一家专业成熟的的供应商,反而能让我......
  • 一些H5对接微信JSSDK的问题记录
    这里给大家分享我在实际生活中总结出来的一些知识,希望对大家有所帮助一.SDK引入这里提供两套引入流程,一套是vue2.0及其他h5项目,一套是vue3.0的引入流程不懂的也可以看我之前的一篇详细流程记录--微信调用jssdk全流程详解1.js引入直接在你的页面里引入js文件就行<scriptsr......
  • 小项目想当大Boss? 你该读读《孙子兵法》 | 京东云技术团队
    你是否还记得高启强?一个到处求人办事经常被恶霸欺凌的卖鱼小贩,因为读了《孙子兵法》,一跃成为黑白通吃的商界大佬。作为弱矩阵环境下只有责任毫无权力的小小项目经理,你是否经常感到无助、经常感到迷茫?你想成为引领集团大型战略复杂项目,一呼百应的项目管理领域大Boss吗?那我建议你也读......
  • 1820BThe BOSS Can Count Pairs[分块]
    Problem-B-Codeforces题意是给n个a和b,1<=a,b<=n,问有多少ai*aj==bi+bj,i<j,2e5的数据规模看一眼数据规模,a,b都是小于等于n的,意味着如果ai*aj>n那么就对答案无贡献,或者说,对于一个ai,剩下数中可能能对答案产生影响的aj,一定是小于等于n/ai的。那么我们可以以ai为依据升序排序,......
  • @Crossorigin 跨域不起作用
    今天在做SpringBoot项目时发现@Crossorigin注解不起作用经过排查后发现是我的axios.get()方法中的url 写错了在此记录下@Crossorgin不生效的几种原因:1.请求不正确,如url写错,@RequestMapping等路径设置错误2.没有在@RequestMapping中设置method,指定提交方式如将@RequestMap......