thinkphp项目接入阿里云OSS

hykeda3年前ThinkPHP2843

1、首先安装 sdk:

composer require aliyuncs/oss-sdk-php

安装好后,在控制器中创建上传方法:

protected function uploadImages(){
       $format = strrchr($filesPath, '.');//截取文件后缀名如 (.jpg)    $filesPath上传到本地服务器的地址
       // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。
       $accessKeyId      = config('app.aliyun.accessId');
       $accessKeySecret  = config('app.aliyun.accessSecret');
       // Endpoint以杭州为例,其它Region请按实际情况填写。
       $endpoint         = config('app.aliyun.endpoint');
       // 设置存储空间名称。
       $bucket= config('app.aliyun.bucket');
       // 设置文件名称。
       $path = '2023/upload/'; //oss中的目录地址      bucket下面会有  2023/upload/2023-2-1/1253251sdfs.jpg
       $object = $path.date('Ymd', time()).DIRECTORY_SEPARATOR.sha1(date('YmdHis', time()) . uniqid()) . $format;
       //自己本地服务器中的图片或视频地址
       $filePath = $filesPath;
       try{
           $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
           $result = $ossClient->uploadFile($bucket, $object, $filePath);
           if(!$result){
               return ['code'=>400,'msg'=>'上传失败'];
           }else{
               unlink($filesPath); //删除本地文件

               $arrtxt = explode('-',$bucket);
               $item = '//'.$arrtxt[1].'-oss.XXXXX.com/'.$object;
               return ['code'=>200,'msg'=>$item];

               //return ['code'=>200,'msg'=>$result['info']['url']];
           }
       } catch(OssException $e) {
//            printf(__FUNCTION__ . ": FAILED\n");
//            printf($e->getMessage() . "\n");
           return ['code'=>400,'msg'=>$e->getMessage()];
       }
   }


标签: OSS

相关文章

ThinkPHP6 事件的简单应用

ThinkPHP6 事件的简单应用

一、序章ThinkPHP6的手册中关于【事件】章节的介绍都是直接文字说明,给出创建的类文件,并没有一个好的示例来进行补充说明。对于刚接触【事件】的同学在阅读理解上增加了一点点困难,本文就在此结合示例简...

最新阿里云OSS文件上传部署

1、前往阿里云github下载SDK包:https://github.com/aliyun/aliyun-oss-php-sdk/releases。 这里介绍源码部署:Source code下载下来...

thinkphp5 微信token验证不通过

刚想接入下微信公众平台,用了最新的tp5,之前用的是tp3.2.3,发现配置好文件后,微信后台一直提示token验证失败。 但是直接在入口文件写echo $_GET["echostr"];就会提...

thinkphp6 中间件使用笔记

最近开发三频道打通程序时用到了中间件,现总结一下:第一步:首先用命令行生成中间件php think make:middleware Check这个指令会 app...

关于thinkphp5.1中间件的使用

关于thinkphp5.1中间件的使用

在tp5.1开始,有了中间件的概念。 首先中间件主要用于拦截或过滤应用的HTTP请求,并进行必要的业务处理。 生成中间件: php thin...

phpExcel 官方停止更新,不支持php7.4以上版本,改用 phpspreadsheet

composer require phpoffice/phpspreadsheet安装后:按需要引入文件use PhpOffice\PhpSpreadsheet\Spre...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。