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,  //返回保存图片的全路径
            ];
        }
	}
}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Student Li

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值