微信access_token全局缓存,处理过期
时间:2017-04-15 16:42:04
收藏:0
阅读:911
1 //PHP创建access_token.json文件,将access_token 和 生成时间expires 保存在其中, 2 //{"access_token":"xxxx","expires":1478799661} 3 function getToken(){ 4 $appid=‘*‘; 5 $appsecret=‘**‘; 6 $file = file_get_contents("./access_token.json",true); 7 $result = json_decode($file,true); 8 echo $time(); 9 if (time() > $result[‘expires‘]){ 10 $data = array(); 11 $data[‘access_token‘] = getNewToken($appid,$appsecret); 12 $data[‘expires‘]=time()+7000; 13 $jsonStr = json_encode($data); 14 $fp = fopen("./access_token.json", "w"); 15 fwrite($fp, $jsonStr); 16 fclose($fp); 17 return $data[‘access_token‘]; 18 }else{ 19 return $result[‘access_token‘]; 20 } 21 } 22 function getNewToken($appid,$appsecret){ 23 $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$appsecret}"; 24 $access_token_Arr = https_request($url); 25 return $access_token_Arr[‘access_token‘]; 26 } 27 function https_request ($url){ 28 $ch = curl_init(); 29 curl_setopt($ch, CURLOPT_URL, $url); 30 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 31 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 32 $out = curl_exec($ch); 33 curl_close($ch); 34 return json_decode($out,true); 35 } 36 echo getToken();
评论(0)