使用composer 下载扩展包:composer require qiniu/php-sdk
在common公共的方法里面写一个公共的方法以后相拥直接调用该方法即可(需要修改的地方已提示换成自己的即可直接使用):
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: 流年 <liu21st@gmail.com>
// +----------------------------------------------------------------------
use Qiniu\Config;
use Qiniu\Storage\BucketManager;
use think\Controller;
use Qiniu\Auth;
use Qiniu\Storage\UploadManager;
use app\cms\model\Banner as BannerModel;
// 应用公共文件
if(!function_exists('imageQiNiu')){
function imageQiNiu()
{
$file = $_FILES;
//本地的文件路径
$localFilePath = $file['vip_img']['tmp_name']; //vip_img 缓存自己的name
//截取文件后缀名
//$suffix = '.jpg';
$suffix = strtolower(substr($file['vip_img']['name'],strpos($file['vip_img']['name'],'.')));
//生成一个唯一的文件名称,重命名 (md5加密原文件名+秒+随机数)
$fileName = md5($file['vip_img']['name']) . date('s',time()) . rand(1,9999999);
$fileName .= $suffix;
//上传七牛云业务逻辑
$accessKey = '这里写你的AK'; //去控制台的秘钥管理拿AK 需要修改
$secretKey = '这里写你的SK';//去控制台的秘钥管理拿SK 需要修改
$auth = new Auth($accessKey, $secretKey);
//七牛云桶名,根据自己实际进行填写
$bucket = '这里写你的七牛云库名'; //需要修改
// 生成上传Token
$token = $auth->uploadToken($bucket);
// 构建 UploadManager 对象
$uploadMgr = new UploadManager();
// 调用 UploadManager 的 putFile 方法进行文件的上传。
list($ret, $err) = $uploadMgr->putFile($token, $fileName, $localFilePath);
//错误信息提示
if ($err != null) {
//可调整为错误页面
$this->error('上传文件失败');
}
//把七牛云图片路径存储到我们自己的数据库 七牛云图片路径
$imageUrl = 'http://这里写你七牛云的域名/' . $fileName; //需要修改
//入库业务逻辑 create save 只有这两个模型方法才能自动写入时间戳
return $imageUrl; //路径 将返回的路径入库即可
}
}