码迷,mamicode.com
首页 > Web开发 > 详细

thinkphp 中 使用七牛云上传

时间:2016-01-29 20:33:09      阅读:351      评论:0      收藏:0      [点我收藏+]

标签:

利用七牛云私有空间存储文件

第一步,注册七牛云,创建空间,将空间设为私有

需要记下的东西:

AK,SK,bucket

第二步配置ThinkPHP

在config.php添加 

‘UPLOAD_SITEIMG_QINIU‘=>array(
‘maxSize‘=>5*1024*1024,//文件大小
‘rootPath‘=>‘./‘,
‘saveName‘=>array(‘uniqid‘,‘‘),
‘driver‘=>‘Qiniu‘,
‘driverConfig‘=>array(
‘secrectKey‘=>‘<这里填七牛SK>‘,
‘accessKey‘=>‘<这里填七牛AK>‘,
‘domain‘=>‘<空间名称>.qiniudn.com‘,
‘bucket‘=>‘<空间名称>‘,
)

  

 

 

复制代码


第三步,上传文件

控制器 

$setting=C(‘UPLOAD_SITEIMG_QINIU‘);
$Upload=new\Think\Upload($setting);
$info=$Upload->upload($_FILES);

  

 

 

复制代码


上传文件后得到的$info是这样的 

array(1){
["photo"]=>array(10){
["name"]=>
["type"]=>
["size"]=>
["key"]=>"
["ext"]=>
["sha1"]=>
["savename"]=>
["savepath"]=>
["url"]=>
}
}

  

 

 

复制代码


第四步,计算下载凭证

Common目录function.php添加方法 

functionQiniu_Encode($str)//URLSafeBase64Encode
{
$find=array(‘+‘,‘/‘);
$replace=array(‘-‘,‘_‘);
returnstr_replace($find,$replace,base64_encode($str));
}
functionQiniu_Sign($url){//$info里面的url
$setting=C(‘UPLOAD_SITEIMG_QINIU‘);
$duetime=NOW_TIME+86400;//下载凭证有效时间
$DownloadUrl=$url.‘?e=‘.$duetime;
$Sign=hash_hmac(‘sha1‘,$DownloadUrl,$setting["driverConfig"]["secrectKey"],true);
$EncodedSign=Qiniu_Encode($Sign);
$Token=$setting["driverConfig"]["accessKey"].‘:‘.$EncodedSign;
$RealDownloadUrl=$DownloadUrl.‘&token=‘.$Token;
return$RealDownloadUrl;
}

  

 

 

复制代码


$RealDownloadUrl为下载对应私有资源的可用URL

参考

http://document.thinkphp.cn/manual_3_2.html#upload

http://developer.qiniu.com/docs/v6/api/reference/security/download-token.html 

thinkphp 中 使用七牛云上传

标签:

原文地址:http://www.cnblogs.com/beyang/p/5169913.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!