1 下载官方PHP SDK
文档网址:https://developer.qiniu.com/kodo/sdk/1241/php#9
# 使用composer安装qiniu/php-sdk
# 安装sdk。安装即可使用
composer require qiniu/php-sdk2 创建配置文件
位置app/extra/qiniu.php
return [
    'ak'    =>  '********************',     // id
    'sk'    =>  '********************',     // 秘钥
    'bucket'=>  '******',                   // 要上传的空间
    'image_url' =>  '*************',        // 空间域名
];3 创建上传类
位置:app/common/Upload.php
<?php
namespace app\common;
use Qiniu\Auth;     // 鉴权类
use Qiniu\Storage\UploadManager;    // 上传类
/**
 * Class Upload 图片上传到七牛云
 */
class Upload
{
    public static function qiNiuUpload()
    {
        // 获取上传的图片
        $file = request()->file('file');
        // 图片存储在本地的临时路经
        $filePath = $file->getRealPath();
        // 获取图片后缀
        $ext = pathinfo($file->getInfo('name'),PATHINFO_EXTENSION);
        // 上传到七牛后保存的新图片名
        $newImageName = date('Y').'/'.date('m').'/'.substr(md5($file->getInfo('name')),0,6).date('YmdHis').rand(000000,999999).'.'.$ext;
        // 构建鉴权对象
        $auth = new Auth(config('qiniu.ak') , config('qiniu.sk'));
        // 要上传的空间
        $token = $auth->uploadToken(config('qiniu.bucket'));
        // 初始化 UploadManager 对象并进行文件的上传。
        $uploadMgr = new UploadManager();
        list($ret , $err) = $uploadMgr->putFile($token , $newImageName , $filePath);
        if($err !== null){
            return null;
        }else{
            // 图片上传成功
            return $newImageName;
        }
    }
}4 控制器使用
位置:app/admin/controller/Image.php
<?php
namespace app\admin\controller;
use think\Request;
use app\common\Upload as qiUpload;
/**
 * Class Image 后台图片上传
 * @package app\admin\controller
 */
class Image extends Base
{
    /**
     * 图片上传至七牛云
     */
    public function qiUpload()
    {
        $img = qiUpload::qiNiuUpload();
        if($img){
            $data = [
                'status'    =>  1,
                'message'   =>  'OK',
                'img_url'   =>  config('qiniu.image_url') . '/' . $img,
            ];
            return json($data);
        }else{
            return json(['status'=>0,'message'=>'上传失败']);
        }
    }
    /**
     * 图片上传至本地
     */
    public function upload()
    {
        $file = Request::instance()->file('file');
        $info = $file->move('uploads');
        // 上传成功
        if($info && $info->getPathname()){
            $data = [
                'status'    =>  1,
                'message'   =>  'OK',
                'img'       => '/'. $info->getPathname(),
            ];
            return json($data);
        }
        // 上传失败
        return json(['status'=>0,'message'=>'上传失败']);
    }
} 智享笔记
								    智享笔记								 
                             
                             
                             
                            