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