关于七牛云实现图片cdn图片的加速实现

一:打开七牛云存储官网https://www.qiniu.com/?hmsr=biaoti&hmpl=pinzhuan&hmcu=biaoti&hmkw=&hmci=,新用户根据提示进行注册,注册成功,进行登陆php

二:登陆成功以后在主页面->页面存储->新建存储空间-> 存储空间名称 , 存储区域 , 访问控制 ->点击存储空间的名字->内容管理html

三:能够进行图片测试,在内容管理下面选择上传文件,在上传成功以后,点击返回来的图片信息,右键复制外链,把结果放到浏览器浏览头上,就能够经过浏览器进行访问了。thinkphp

四:结合tp框架的使用:api

         要在tp中使用七牛云存储,要注意如下几点:浏览器

         1》配置文件,将你的config.php里面添加七牛云存储

            

  1. '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以下:dom

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

第四步,计算下载凭证
Common目录function.php添加方法测试

  1. function Qiniu_Encode($str) // URLSafeBase64Encode
  2. {
  3.     $find = array('+', '/');
  4.     $replace = array('-', '_');
  5.     return str_replace($find, $replace, base64_encode($str));
  6. }
  7. function Qiniu_Sign($url) {//$info里面的url
  8.     $setting = C ( 'UPLOAD_SITEIMG_QINIU' );
  9.     $duetime = NOW_TIME + 86400;//下载凭证有效时间
  10.     $DownloadUrl = $url . '?e=' . $duetime;
  11.     $Sign = hash_hmac ( 'sha1', $DownloadUrl, $setting ["driverConfig"] ["secrectKey"], true );
  12.     $EncodedSign = Qiniu_Encode ( $Sign );
  13.     $Token = $setting ["driverConfig"] ["accessKey"] . ':' . $EncodedSign;
  14.     $RealDownloadUrl = $DownloadUrl . '&token=' . $Token;
  15.     return $RealDownloadUrl;
  16. }

复制代码url

$RealDownloadUrl为下载对应私有资源的可用URL
参考
http://document.thinkphp.cn/manual_3_2.html#upload
http://developer.qiniu.com/docs/v6/api/reference/security/download-token.html

相关文章
相关标签/搜索