thinkphp 5+ 上传七牛云存储 通用方法

浏览:787 发布日期:2018/05/15 分类:功能实现 关键字: 七牛 php thinkphp 上传 上传通用
快速实现文件上传七牛云空间方法
<?php

/**
 * 上传七牛
 *
 * @author huqitao <huqitaoit@gmail.com>
 */

namespace app\extra;

require 'qiniu_sdk/autoload.php'; //引入七牛sdk 文件夹名称啥的自己定

use Qiniu\Auth; //七牛鉴权使用
use Qiniu\Storage\UploadManager; //七牛上传使用

class uploadFile {

    protected $domain;
    protected $bucket;
    protected $token;

    const ACCESS_KEY = ''; //七牛参数 自己去找吧
    const SECRET_KEY = ''; //七牛参数 自己去找吧

    public function __construct($domain, $bucket) {
        $this->domain = 'http://'.$domain.'/';
        $this->bucket = $bucket;
        $auth = new Auth(self::ACCESS_KEY, self::SECRET_KEY);
        // 生成上传Token
        $this->token = $auth->uploadToken($bucket);
    }

    /**
     * 上传
     * @param array $file 图片参数
     * @return array
     */
    public function uploadOne($file) {
        // 构建 UploadManager 对象
        $uploadMgr = new UploadManager();
        list($ret, $err) = $uploadMgr->putFile($this->token, $file['name'], $file['tmp_name']);
        if ($err !== null) {
            return ['err' => 1, 'msg' => $err, 'data' => ''];
        } else {
            //返回图片的完整URL
            return ['err' => 0, 'msg' => '上传完成', 'data' => ($this->domain . $ret['key'])];
        }
    }

}
评论( 相关
后面还有条评论,点击查看>>