TPTCMS

ThinkPHP5整合系列之调用七牛云SDK上传图片文件

ThinkPHP5七牛云SDKPHP2018-10-21 22:43:41

首先下载七牛云PHP-SDK,此 SDK ( version: 7.x.x ) 适用于PHP >= 5.3.0,安装好后,接下来介绍如何使用 SDK。

点击下载:https://github.com/qiniu/php-sdk/releases

在使用 SDK 之前,需要注册一个七牛帐号,然后创建空间,绑定自定义域名,并在控制台获取一对有效的AccessKey和SecretKey,并且详细阅读安全机制以进一步了解如何正确使用和管理密钥。

以下是PHP代码:

可以根据你的项目自行修改

<?php
namespace app\admin\controller;
use think\Controller;
use Qiniu\Auth;
use Qiniu\Storage\UploadManager;
class Upload extends Controller
{
    function upload()
    {
        $file = request()->file('file');
        $path = $file->getRealPath();
        $ext = pathinfo($file->getInfo('name'), PATHINFO_EXTENSION);
        $key = date('Ymd') . '/' . str_replace('.', '0', microtime(1)) . '.' . $ext;
        $ym = '这里填写你的域名';
        include '/extend/Qiniu/autoload.php';
        $accessKey = '这里填写你的AK';
        $secretKey = '这里填写你的SK';
        $auth = new Auth($accessKey, $secretKey);
        $bucket = '这里填写你的空间名称';
        $token = $auth->uploadToken($bucket);
        $upload = new UploadManager();
        list($ret, $err) = $upload->putFile($token, $key, $path);
        if (!$err) {
            return json(array('err'=>0,'msg'=>'上传成功','path'=>$ym . '/' . $ret['key']));
        }
    }
}

注意事项:

在ThinkPHP根目录创建extend,把Qiniu全部文件复制进去就可以用了,但是注意autoload.php需要require或者include,注意下路径即可。