checkFileExists() || $this->checkFileExpire()){ //请求微信服务器获取token字符串 $token = $this->requestToken(); return $token; } //如果文件存在并且没有过期 return $this->readToken(); } //检测token文件是否存在 public function checkFileExists(){ return file_exists($this->tokenFile); } //请求微信服务器获取token字符串 public function requestToken(){ //获取token的接口地址 $url='https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$this->appID.'&secret='.$this->appsecret; //发起get请求 $res = $this->get($url); //获取token字符串 $data = json_decode($res, true); //判断 if(!empty($data['access_token'])){ //获取成功的话 $this->writeToken($data['access_token']); return $data['access_token']; }else{//执行失败 返回请求的结果字符串 echo '获取token失败,错误代码为'.$res;die; } } //将token字符串写入文件中 public function writeToken($token){ file_put_contents($this->tokenFile, $token); } //检测token文件是否过期 最后修改时间 有效时间 当前时间 public function checkFileExpire(){ // 获取最后的修改事件 $mtime = filemtime($this->tokenFile); //如果两个时间之和小于当前时间 意味着文件已经过期 if($mtime + $this->tokenFileLifeTime < time()){ return true; }else{ return false; } // return filemtime($this->tokenFile) + $this->tokenFileLifeTime < time(); } //从文件中直接读取token public function readToken(){ return file_get_contents($this->tokenFile); } } ?>