yii2.0整合阿里云oss的示例代码


Posted in PHP onSeptember 19, 2017

主要思路,首先用composer下载阿里云oss的php sdk,然后自定义一个组件,就能够在全局调用阿里云oss了。

具体步骤如下:

1 到阿里云官网找到php sdk,网址为https://help.aliyun.com/document_detail/32099.html?spm=5176.87240.400427.40.s8EbEH

2 使用composer安装,在项目目录下(basic/)输入:

composer require aliyuncs/oss-sdk-php

安装完成以后,如下图

yii2.0整合阿里云oss的示例代码

3 自定义组件:

3.1 在basic目录下,创建components文件夹,

3.2 在components目录下创建Aliyunoss.php

代码参考如下:

<?php
namespace app\components;

use Yii;
use yii\base\Component;
use OSS\OssClient;

class Aliyunoss extends Component
{
  public static $oss;

  public function __construct()
  {
    parent::__construct();
    $accessKeyId = Yii::$app->params['oss']['accessKeyId'];         //获取阿里云oss的accessKeyId
    $accessKeySecret = Yii::$app->params['oss']['accessKeySecret'];     //获取阿里云oss的accessKeySecret
    $endpoint = Yii::$app->params['oss']['endPoint'];            //获取阿里云oss的endPoint
    self::$oss = new OssClient($accessKeyId, $accessKeySecret, $endpoint); //实例化OssClient对象
  }

  /**
   * 使用阿里云oss上传文件
   * @param $object  保存到阿里云oss的文件名
   * @param $filepath 文件在本地的绝对路径
   * @return bool   上传是否成功
   */
  public function upload($object, $filepath)
  {
    $res = false;
    $bucket = Yii::$app->params['oss']['bucket'];        //获取阿里云oss的bucket
    if (self::$oss->uploadFile($bucket, $object, $filepath)) { //调用uploadFile方法把服务器文件上传到阿里云oss
      $res = true;
    }

    return $res;
  }

  /**
   * 删除指定文件
   * @param $object 被删除的文件名
   * @return bool  删除是否成功
   */
  public function delete($object)
  {
    $res = false;
    $bucket = Yii::$app->params['oss']['bucket'];  //获取阿里云oss的bucket
    if (self::$oss->deleteObject($bucket, $object)){ //调用deleteObject方法把服务器文件上传到阿里云oss
      $res = true;
    }

    return $res;
  }

  public function test(){
    echo 123;
    echo "success";
  }
}
?>

3.3 在basic/config/params.php里边添加一个数组,用来放置阿里云oss的配置信息

代码参考如下:

'oss' =>[
    'accessKeyId'=>'您的accessKeyId',
    'accessKeySecret'=>'您的accessKeySecret',
    'bucket' => '您的bucket',
    'endPoint' => '您的endPoint',
  ]

3.4 在basic/config/main.php里边添加一个组件配置

'Aliyunoss' => [
  'class' => 'app\components\Aliyunoss',
],

3.5 在controller里边尝试调用

Yii::$app->Aliyunoss->test();

3.6 调用成功截图:

yii2.0整合阿里云oss的示例代码

至此,已经成功地把阿里云oss引入到了yii2框架之中。调用upload方法和调用delete方法跟示例相同。你也可以根据OssClient里边的方法为Aliyunoss组件增加新的功能。一般来说,使用上传和删除功能就已经能满足大部分需求了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
无数据库的详细域名查询程序PHP版(4)
Oct 09 PHP
php中使用接口实现工厂设计模式的代码
Jun 17 PHP
php标签云的实现代码
Oct 10 PHP
PHP反射机制用法实例
Aug 28 PHP
php实现比较全的数据库操作类
Jun 18 PHP
php简单实现批量上传图片的方法
May 09 PHP
PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
Feb 05 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
Sep 28 PHP
php多进程应用场景实例详解
Jul 22 PHP
Laravel框架基础语法与知识点整理【模板变量、输出、include引入子视图等】
Dec 03 PHP
php使用redis的几种常见操作方式和用法示例
Feb 20 PHP
TP5框架实现上传多张图片的方法分析
Mar 29 PHP
PHP文件系统管理(实例讲解)
Sep 19 #PHP
Laravel学习教程之View模块详解
Sep 18 #PHP
php制作圆形用户头像的实例_自定义封装类源代码
Sep 18 #PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
Sep 17 #PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
Sep 16 #PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
Sep 16 #PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
Sep 16 #PHP
You might like
php 图片上添加透明度渐变的效果
2009/06/29 PHP
php判断对象是派生自哪个类的方法
2015/06/20 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
PHP XML Expat解析器知识点总结
2019/02/15 PHP
JavaScript 事件的一些重要说明
2009/10/25 Javascript
javaScript 页面自动加载事件详解
2014/02/10 Javascript
javascript二维数组转置实例
2015/01/22 Javascript
JavaScript获取元素尺寸和大小操作总结
2015/02/27 Javascript
jQuery制作可自定义大小的拼图游戏
2015/03/30 Javascript
jQuery使用cookie与json简单实现购物车功能
2016/04/15 Javascript
AngularJS入门教程之Helloworld示例
2016/12/25 Javascript
微信小程序 后台登录(非微信账号)实例详解
2017/03/31 Javascript
node.js实现登录注册页面
2017/04/08 Javascript
用js将long型数据转换成date型或datetime型的实例
2017/07/03 Javascript
angular4模块中给标签添加背景图的实现方法
2017/09/15 Javascript
[03:41]2018完美盛典-《Fight With Us》
2018/12/16 DOTA
Python绘制正余弦函数图像的方法
2018/08/28 Python
python中requests模拟登录的三种方式(携带cookie/session进行请求网站)
2020/11/17 Python
python 爬取百度文库并下载(免费文章限定)
2020/12/04 Python
python3中for循环踩过的坑记录
2020/12/14 Python
丝芙兰美国官网:SEPHORA美国
2016/08/03 全球购物
原装进口全世界:天猫国际
2016/08/03 全球购物
CHARLES & KEITH台湾官网:新加坡时尚品牌
2019/07/30 全球购物
人力资源专业推荐信
2013/11/29 职场文书
大学生表扬信范文
2014/01/09 职场文书
开学寄语大全
2014/04/08 职场文书
旅游与环境专业求职信
2014/06/05 职场文书
参赛口号
2014/06/16 职场文书
党员教师个人对照检查材料(群众路线)
2014/09/26 职场文书
2014年科室工作总结范文
2014/12/19 职场文书
校本培训个人总结
2015/02/28 职场文书
公司奖励通知
2015/04/21 职场文书
2015年秋季运动会前导词
2015/07/20 职场文书
2015年中秋放假通知范文
2015/08/18 职场文书
2016特色励志班级口号
2015/12/24 职场文书
乡镇干部学习心得体会
2016/01/23 职场文书