zoukankan      html  css  js  c++  java
  • 获取微信accesstoken并文件缓存方式

    function getAccessToken()
    	{
    		$appid = 'wx53cxxxxxx';
    		$secret = 'f46xxxxxxxxxxxddda2';
    		
    		$accessTokenFile = './accessToken.txt';
    		if (file_exists($accessTokenFile)) {//文件存在
    			$time = time();
    			$tokenFileJson = file_get_contents($accessTokenFile);
    			$fileArrData = json_decode($tokenFileJson,true);
    			$fileExpireTime = isset($fileArrData['expireTime'])?$fileArrData['expireTime']:0;
    			if ($fileExpireTime > $time) {//请求token未过期
    				$accessToken = isset($fileArrData['accessToken'])?$fileArrData['accessToken']:'';
    				return $accessToken;
    			}else{
    				$url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$appid.'&secret='.$secret;
    				$jsonData = file_get_contents($url);
    				$arrData = json_decode($jsonData,true);
    				file_put_contents('./getToken.txt','【'.date("Y-m-d H:i:s").'】'.$jsonData.PHP_EOL,FILE_APPEND);
    				if (isset($arrData['errcode'])) {
    					exit($arrData['errmsg']);
    				}else{
    					$expireTime = time() + 5000;//过期时间
    					$accessToken = isset($arrData['access_token'])?$arrData['access_token']:'';
    					file_put_contents($accessTokenFile,json_encode(array('accessToken'=>$accessToken,'expireTime'=>$expireTime)));
    					return $accessToken;
    				}
    			}
    		}else{//文件不存在
    			$url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$appid.'&secret='.$secret;
    			$jsonData = file_get_contents($url);
    			$arrData = json_decode($jsonData,true);
    			file_put_contents('./getToken.txt','['.date("Y-m-d H:i:s").']'.$jsonData.PHP_EOL,FILE_APPEND);
    			if (isset($arrData['errcode'])) {
    				exit($arrData['errmsg']);
    			}else{
    				$expireTime = time() + 5000;//过期时间
    				$accessToken = isset($arrData['access_token'])?$arrData['access_token']:'';
    				file_put_contents($accessTokenFile,json_encode(array('accessToken'=>$accessToken,'expireTime'=>$expireTime)));
    				return $accessToken;
    			}
    		}
    		
    
    		
    	}
    

      

  • 相关阅读:
    对象直接量
    js学习类
    jquery.js与sea.js综合使用
    拥抱模块化的JavaScript
    匿名函数与闭包
    js对象如何合并?
    Web.config配置文件详解
    javascipt自定义命名空间、静态类、实例对象
    jQuery源码的基础知识
    企业架构/企业开发 [Enterprise architecture / Enterprise Development]
  • 原文地址:https://www.cnblogs.com/dreamboycx/p/13576264.html
Copyright © 2011-2022 走看看