ThinkPHP 3使用OSS的方法


Posted in PHP onJuly 19, 2018

准备工作

  • 登录阿里云官网,将鼠标移至产品找到并单击对象存储OSS打开OSS产品详情页面。
  • 在OSS产品详情页中的单击立即开通。
  • 开通服务后,在OSS产品详情页面单击管理控制台直接进入OSS管理控制台界面。
  • 您也可以单击位于官网首页右上方菜单栏的控制台,进入阿里云管理控制台首页,然后单击左侧的 对象存储OSS菜单 进入OSS管理控制台界面。
  • 点击右上角 access key 按钮,进入子页面点击创建access key按钮,创建成功后获取 Access Key ID 和 Access Key Secret 。

安装OSS PHP SDK

关于安装OSS PHP SDK的方法,请参看官网。对于Thinkphp 5,推荐通过 composer 方式管理项目依赖。

打开命令行,切换到项目根目录,输入以下命令

composer require aliyuncs/oss-sdk-php

如果一直下载不成功,请在composer reauire之前加入composer中国镜像

composer config -g repo.packagist composer https://packagist.phpcomposer.com

同时,您的项目下的 vendor 文件夹内,也将新建 aliyuncs 文件夹,里面的文件就是OSS库文件及示例文件。

ThinkPHP 3使用OSS的方法 

填写配置项

修改文件 /Application/Common/Conf/config.php

'ALIOSS_CONFIG'     => array(
    'KEY_ID'    => '',  // 阿里云oss key_id
    'KEY_SECRET'  => '',  // 阿里云oss key_secret
    'END_POINT'   => '',  // 阿里云oss endpoint
  ),

创建实例化函数

文件 /Application/Common/Common/function.php,如果不存在则新建。

require_once('/vendor/autoload.php');


function new_oss()
{ 
  $config = C('aliyun_oss');
  
  return new \OSS\OssClient($config['KeyId'], $config['KeySecret'], $config['Endpoint']);
}

控制器中调用OSS

文件 Application/Home/Controller/IndexController.php,可以是任意控制器或模型文件。

public function index()

{
  $bucket = '<填写您的bucket名称>';

  $object = '<填写您的object名称>';

  $config = C('aliyun_oss');
  //创建ossClient

  $ossClient = new_oss();


  //创建bucket

  $ossClient->createBucket($bucket);

  
  //创建object

  $ossClient->putObject($config['Bucket'], $object, 'object content');


  //获取object内容

  $object = $ossClient->getObject($config['Bucket'], $object);


  //删除object

  $ossClient->deleteObject($bucket, $object);


  //删除bucket

  $ossClient->deleteBucket($bucket);
}

总结

以上所述是小编给大家介绍的ThinkPHP 3使用OSS,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
PHP与SQL注入攻击[一]
Apr 17 PHP
php date与gmdate的获取日期的区别
Feb 08 PHP
用php随机生成福彩双色球号码的2种方法
Feb 04 PHP
ie与session丢失(新窗口cookie丢失)实测及解决方案
Jul 15 PHP
php验证是否是md5编码的简单代码
Apr 01 PHP
自编函数解决pathinfo()函数处理中文问题
Nov 03 PHP
简单谈谈php中ob_flush和flush的区别
Nov 27 PHP
php身份证号码检查类实例
Jun 18 PHP
php过滤所有的空白字符(空格、全角空格、换行等)
Oct 27 PHP
php getcwd与dirname(__FILE__)区别详解
Sep 24 PHP
PHP命令空间namespace及use的用法小结
Nov 27 PHP
PHP实现基本留言板功能原理与步骤详解
Mar 26 PHP
php命令行写shell实例详解
Jul 19 #PHP
php工具型代码之印章抠图
Jul 18 #PHP
php压缩文件夹最新版
Jul 18 #PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
Jul 17 #PHP
PHP7新特性之抽象语法树(AST)带来的变化详解
Jul 17 #PHP
阿里云的WindowsServer2016上部署php+apache
Jul 17 #PHP
tp5实现微信小程序多图片上传到服务器功能
Jul 16 #PHP
You might like
PHP安全编程之加密功能
2006/10/09 PHP
ADODB的数据库封包程序库
2006/12/31 PHP
Eclipse的PHP插件PHPEclipse安装和使用
2014/07/20 PHP
php中fsockopen用法实例
2015/01/05 PHP
php保存任意网络图片到服务器的方法
2015/04/14 PHP
highchart数据源纵轴json内的值必须是int(详解)
2017/02/20 PHP
php求数组全排列,元素所有组合的方法总结
2017/03/14 PHP
PHP实现的超长文本分页显示功能示例
2018/06/04 PHP
thinkphp5框架实现的自定义扩展类操作示例
2019/05/16 PHP
iphone safari不支持position fixed的解决方法
2012/05/04 Javascript
如何使用jquery动态加载js,css文件实现代码
2013/04/03 Javascript
jQuery操作DOM之获取表单控件的值
2015/01/23 Javascript
jQuery通过ajax方法获取json数据不执行success的原因及解决方法
2016/10/15 Javascript
从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析
2017/04/13 Javascript
jQuery实现鼠标滑过预览图片大图效果的方法
2017/04/26 jQuery
nodejs中用npm初始化来创建package.json的实例讲解
2018/10/10 NodeJs
Vue自定义指令结合阿里云OSS优化图片的实现方法
2019/11/12 Javascript
vant自定义二级菜单操作
2020/11/02 Javascript
[35:43]2018DOTA2亚洲邀请赛 4.1 小组赛B组 paiN vs Effect
2018/04/03 DOTA
python中import reload __import__的区别详解
2017/10/16 Python
对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解
2018/06/28 Python
python实现祝福弹窗效果
2019/04/07 Python
Django中的session用法详解
2020/03/09 Python
美国市场上最实惠的送餐服务:Dinnerly
2018/03/18 全球购物
毕业生自荐信
2013/12/14 职场文书
2014年情人节活动方案
2014/02/16 职场文书
历史专业大学生职业生涯规划书
2014/03/13 职场文书
专业技术职务聘任书
2014/03/29 职场文书
生物工程专业求职信
2014/09/03 职场文书
海南召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
2015年教务工作总结
2015/05/23 职场文书
Golang 如何实现函数的任意类型传参
2021/04/29 Golang
pandas取dataframe特定行列的实现方法
2021/05/24 Python
Node.js实现断点续传
2021/06/23 Javascript
python实现会员信息管理系统(List)
2022/03/18 Python
win10电脑关机快捷键是哪个 win10快速关机的几种方法
2022/08/14 数码科技