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

hykeda10年前ThinkPHP2337
1、前往阿里云github下载SDK包:https://github.com/aliyun/aliyun-oss-php-sdk/releases。 这里介绍源码部署:Source code下载下来。.phar其实就是一个打包文件,直接引用后就能用,大家自己去试试吧,功能是一样的。 2、将下载下来的压缩包解压后放到项目ThinkPHP\Library\Vendor\aliyun路径下。aliyun文件夹是我自己建的,大家可以自己命名。 3、在控制器中编写代码: 控制器中要加入 use OSS\Core\OssException;//不然OssException 报错 配合upload上传类(图片为例) $upload = new \Think\Upload();// 实例化上传类 $upload->maxSize = 3145728 ;// 设置附件上传大小 $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型 $upload->rootPath = './Public/uploads/'; // 设置附件上传根目录 $upload->savePath = ''; // 设置附件上传(子)目录 $upload->saveName = array('uniqid',''); // 上传文件 $info = $upload->upload(); if(!$info) {// 上传错误提示错误信息 //处理上传错误信息 }else{// 上传成功 vendor('aliyun.autoload'); $accessKeyId = "";//去阿里云后台获取秘钥 $accessKeySecret = "";//去阿里云后台获取秘钥 $endpoint = "";//你的阿里云OSS地址 $ossClient = new \OSS\OssClient($accessKeyId, $accessKeySecret, $endpoint); $bucket= "";//oss中的文件上传空间 $object = date('Y-m-d').'/'.$info['imgfile']['savename'];//想要保存文件的名称 $file = './Public/uploads/'.$info['imgfile']['savepath'].$info['imgfile']['savename'];//文件路径,必须是本地的。 try{ $ossClient->uploadFile($bucket,$object,$file); //上传成功,自己编码 //这里可以删除上传到本地的文件。unlink($file); } catch(OssException $e) { //上传失败,自己编码 printf($e->getMessage() . "\n"); return; } } 大家有什么不理解的可以联系我。 代码包:aliyun
标签: 阿里云oss

相关文章

ThinkPHP6 事件的简单应用

ThinkPHP6 事件的简单应用

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

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

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

thinkphp5.1 使用第三方类库放置在extend文件夹

thinkphp5.1 使用第三方类库放置在extend文件夹

thinkphp5.1 开发扩展类库时,命名空间必须要命名成文件夹的名字,不然无法访问到:...

thinkphp5 导入第三方类库和导入扩展类库细节

在用到tp5之后,很多东西都不太一样了。在此记录些小经验: 类库的导入,tp5有两种类库,分别为第三方类库和扩展类库 导入扩展类库,tp的手册中有示例代码: extend目录下面...

关于thinkphp6 where以数组形式查询,其中有or,and的处理

最近在写tp6的查询语句时,如果查询条件以数组形式传入,比如:$where[] = ['id','=',$id]; $where[] =...

thinkphp6 前置和后置中间件的区别以及特殊情况

首先官方文档是这么描述的:中间件是在请求具体的操作之前还是之后执行,完全取决于中间件的定义本身。下面是一个前置行为的中间件 (Before命名是随意的):<?php namespace&n...

发表评论    

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