码迷,mamicode.com
首页 > 微信 > 详细

PHP取微信access_token并全局存储与更新

时间:2018-04-27 13:52:33      阅读:319      评论:0      收藏:0      [点我收藏+]

标签:close   file   set   有效期   url   top   tran   文件名   保存   

来源:http://www.zcphp.com/html/weixinkaifa-show-20.html

官方的说明:

access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。

开发时需要进行妥善保存。

access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。

 

众所周知,在微信开发中access_token是经常用的。但是access_token的请求次数是有限制的,所以不能每次都重新请求,只有将它缓存到本地了。

 

 function accessToken() {
    $tokenFile = "./access_token.txt";//缓存文件名
    $data = json_decode(file_get_contents($tokenFile));
    if ($data->expire_time < time() or !$data->expire_time) {
    $appid = "你的appid";
    $appsecret = "你的appsecret";
    $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";
      $res = getJson($url);
      $access_token = $res[‘access_token‘];
      if($access_token) {
        $data[‘expire_time‘] = time() + 7000;
        $data[‘access_token‘] = $access_token;
        $fp = fopen($tokenFile, "w");
        fwrite($fp, json_encode($data));
        fclose($fp);
      }
    } else {
      $access_token = $data->access_token;
    }
     return $access_token;
  }
   
 //取得微信返回的JSON数据
 function getJson($url){
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  $output = curl_exec($ch);
  curl_close($ch);
  return json_decode($output, true);
}

  

 

PHP取微信access_token并全局存储与更新

标签:close   file   set   有效期   url   top   tran   文件名   保存   

原文地址:https://www.cnblogs.com/cblx/p/8960710.html

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