编程语言
首页 > 编程语言> > thinkphp 增加七牛上传功能

thinkphp 增加七牛上传功能

作者:互联网

首先需要下载七牛的php版本sdk:https://developer.qiniu.com/sdk#official-sdk

将文件重新命名:Qiniu,然后移动到extend目录下,然后就可以直接使用。

<?
/**
 * 七牛文件上传处理
 */
require_once '../extend/Qiniu/autoload.php';  //引入七牛文件
use think\Db;
use Qiniu\Auth;// 引入七牛鉴权类
use Qiniu\Storage\UploadManager;// 引入七牛上传类
use Qiniu\Processing\PersistentFop;//缩略图持久化
class QiniuUpload extends Common{
	/**
	 * [upload_files 七牛文件上传处理]
	 * @param  [type] $files [上传的文件]
	 * @return [type]        [description]
	 */
	public function upload_files($files){
		//1.验证文件--省略
		//获取七牛配置参数
        $file_path = $files->getRealPath();// 获取文件对象的本地路径
        if(empty($file_path)){
            return ['code'=>-200,'msg'=>'请传入文件本地路径'];
        }
		$system_cofing = system_cofing();            //获取系统配置--气的七牛配置缓存在了系统参数中
        // 需要填写你的 Access Key 和 Secret Key
        $accessKey = $system_cofing['qiniu_accessKey'];//"8G-G8oyFme8ltP5p_zc6XaOrzcMST9hc5YCINlsR";   登录七牛可以查看
        $secretKey = $system_cofing['qiniu_secretKey'];//"Iz5YDPIgNWVQxO6GMAF7jWUeUf5UXyUh6HlTb7oa";   登录七牛可以查看
        $bucket = $system_cofing['qiniu_bucket'];      //"img";   登录七牛可以查看--储存空间命名
        $folder = $system_cofing['qiniu_folder'];      //qiniu目录标识
        $domain = $system_cofing['qiniu_url'];         //qiniu访问域名
        // 构建鉴权对象
        $auth = new Auth($accessKey, $secretKey);
        // 生成上传 Token
        $token = $auth->uploadToken($bucket);
        // 获取文件后缀
        $ext = strtolower(pathinfo($files->getInfo('name'), PATHINFO_EXTENSION));  //后缀
        // 上传到七牛后保存的文件名
        $key = $folder.'/'.date('Ymd').'/'.md5(microtime(true)).'.'.$ext;
        // 初始化 UploadManager 对象并进行文件的上传。
        $uploadMgr = new UploadManager(); 
        // 调用 UploadManager 的 putFile 方法进行文件的上传。
        list($ret, $err) = $uploadMgr->putFile($token, $key, $file_path);
        if ($err !== null) {
            return ['code'=>-200,'msg'=>$err->message(),'statusCode'=>$err->code];
        } else {
            return [
                'code'=>200,
                'msg'=>'上传成功',
                'value'=>$key,            //返回保存图片的路径
                'url'=>$domain.'/'.$key,  //返回保存图片的全路径
            ];
        }
	}
}

以上是直接简单使用的代码

标签:code,qiniu,system,七牛,cofing,thinkphp,上传
来源: https://blog.csdn.net/qq_41451303/article/details/101219101