TP6 TP8 使用阿里官方OSS 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');
		// 表示上传文件到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];
    }

参考:

thinkphp6 swoole上传阿里云oss_小时候很帅y的博客-CSDN博客

thinkphp 6 上传 自动区分本地、阿里云等OSS 服务_php肖彬的博客-CSDN博客

你可能感兴趣的:(tp8,tp6,阿里云,php)