ThinkPHP3.2自带的七牛云配置使用

利用七牛云私有空间存储文件
第一步,注册七牛云,创建空间,将空间设为私有,需要记下的东西:

accessKey,secrectKey,domain,bucket

利用七牛云私有空间存储文件
第一步,注册七牛云,创建空间,将空间设为私有,需要记下的东西:
accessKey,secrectKey,domain,bucket

第二步配置ThinkPHP
'UPLOAD_SITEIMG_QINIU' => array (   
                'maxSize' => 5 * 1024 * 1024,//文件大小  
                'rootPath' => './',  
                'saveName' => array ('uniqid', ''),  
                'driver' => 'Qiniu',  
                'driverConfig' => array (  
                        'accessKey' => '<这里填七牛AK>',  
                        'secrectKey' => '<这里填七牛SK>',   
                        'domain' => '<这里填七牛外链默认域名>',  
                        '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添加方法
function Qiniu_Encode($str) // URLSafeBase64Encode  
{  
    $find = array('+', '/');  
    $replace = array('-', '_');  
    return str_replace($find, $replace, base64_encode($str));  
}  
function Qiniu_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
注意
我在开发中没有遇到QiniuStorage.class.php文件$ak和$sk值不对的问题,估计是官方已经修改这个bug。
但是我上传文件是都是提示上传地址不对,最后检查发现七牛现在存储区域已经支持华东,华北,华南等多个区域,但是官方还是华东的上传地址,需要手动修改QiniuStorage.class.php文件的配置


public $QINIU_RSF_HOST = 'http://rsf.qbox.me';  
public $QINIU_RS_HOST = 'http://rs.qbox.me';  
//public $QINIU_UP_HOST = 'http://up.qiniu.com';//华东  
//public $QINIU_UP_HOST = 'http://up-z1.qiniu.com';//华北  
public $QINIU_UP_HOST = 'http://up-z2.qiniu.com';//华南  
public $timeout = ''; 
参考
http://document.thinkphp.cn/manual_3_2.html#upload
http://developer.qiniu.com/docs/v6/api/reference/security/download-token.html 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值