ThinkPHP3.2自带的七牛云配置使用
来源:互联网 发布:网络集成商 编辑:程序博客网 时间:2024/06/05 09:18
利用七牛云私有空间存储文件
第一步,注册七牛云,创建空间,将空间设为私有,需要记下的东西:
控制器
第一步,注册七牛云,创建空间,将空间设为私有,需要记下的东西:
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
- ThinkPHP3.2自带的七牛云配置使用
- ThinkPHP3.2自带的七牛云配置使用
- 不使用eclipse自带maven的配置问题
- Mac自带apache的基本配置和使用
- thinkphp3.2标签中数组的使用
- ThinkPHP3.2中Widget实例的使用
- Thinkphp3.2 使用的一些注意事项
- Axis1.4自带SOAPMonitor的配置
- 配置php自带的mail功能
- 配置myeclipse自带的tomcat
- Red Hat 自带 Svn 的配置
- SAP 配置系统自带的打印
- 配置bitnami-redmine自带的Subversion
- STM32自带的IIC配置
- Tomcat自带log的配置
- 配置Spring自带的编码过滤器
- bitnami-redmine自带的Subversion 配置
- Tomcat自带log的配置
- 万能的林萧说:我来告诉你,一个草根程序员如何进入BAT。
- Servlet下的ServletContext
- OData demo
- 关于文本标签的使用
- 面试题_Selenium
- ThinkPHP3.2自带的七牛云配置使用
- js查看浏览器类型和版本
- 解决 github push failed (remote: Permission to userA/repo.git denied to userB.)
- 1115. Counting Nodes in a BST (30)
- Discuz X3.2 论坛关闭后,MySQL帖子导出为.csv
- 机器学习之数学基础(概率与统计推断、矩阵、凸优化)
- 步步紧逼!英特尔至强E7 v3对决IBM POWER8
- LeetCode#109. Convert Sorted List to Binary Search Tree
- Zookeeper集群搭建(涵盖命令详解)与Error contacting service. It is probably not running的问题解决