美文网首页
CI上传文件到阿里云OSS

CI上传文件到阿里云OSS

作者: 风度翩翩的程序猿 | 来源:发表于2020-09-09 11:29 被阅读0次

用composer在项目根目录执行以下命令下载sdk

composer require aliyuncs/oss-sdk-php

根据个人爱好放在自己喜欢的目录中 (我放在了application下)


20190409172204628.png

到CI框架的config.php 中修改下面这个参数使vendor文件夹自动加载(如果你上一步存放的路径和我是一样的就改成true即可,否则就改成自己的路径)

20190409172352780.png

接下来就是代码:

将以下代码复制到libraries目录里面自己建一个文件


<?php defined('BASEPATH') OR exit('No direct script access allowed');
 
use OSS\OssClient;
use OSS\Core\OssException;
 
/**
 * 阿里云OSS存储公共库
 */
class Aliyun_oss
{
 
    private $CI_instance;
    private $_oss;
 
    function __construct()
    {
        $this->CI_instance =& get_instance();
        $this->CI_instance->load->config('business/aliyun');
        $config = $this->CI_instance->config->item('oss');
 
        if (isset($this->_oss)) {
            return $this->_oss;
        }
        $this->_oss = new OssClient(
            $config['accessKeyId'],
            $config['accessKeySecret'],
            $config['endpoint']
        );
    }
 
    /**
     * 使用魔术方法捕获所有未注册方法
     * @param  [type] $method    [调用的方法名]
     * @param  [type] $param_arr [调用这个方法所传递的参数]
     * @return [type]            [description]
     */
    public function __call($method, $param_arr)
    {
        return call_user_func_array(array($this->_oss, $method), $param_arr);
    }
 
}

然后添加oss配置在config.php


2019040917352058.png

最后一步,可以在控制器的任何地方调用啦


20190409173952745.png

相关文章

网友评论

      本文标题:CI上传文件到阿里云OSS

      本文链接:https://www.haomeiwen.com/subject/tgkeektx.html