tp5下,保存公众号access_token

在开发公众号的时候,免不了要用到公众号的接口,基于接口,它是需要access_token做基础的,而access_token它的有效期是有限定的,所以在获取到access_token的时候要注意保存。
1、在控制器中建一个方法,专门用来保存access_token信息,之后在开发中如需要用到接口,可以调起该方法。

<?php
	namespace app\wx\controller;
	use think\Controller;

	class AccessToken extends Controller{
		public function https_request($url,$data = null){
			$curl = curl_init();
	        curl_setopt($curl, CURLOPT_URL, $url);
	        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
	        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
	        if (!empty($data)){
	            curl_setopt($curl, CURLOPT_POST, 1);
	            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
	        }
	        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
	        $output = curl_exec($curl);
	        curl_close($curl);
	        return $output;
		}


		public function getAccess_token(){
	        $appid = "";
	        $appsecret = "";
	        $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";
	        $output = $this->https_request($url);
	        $output = json_decode($output,true); //json转数组
	        $output['time'] = time();
	        cache('access_token',$output); //这儿存cache ,然后在需要的时候直接拿出来用
	    }


	   	public function interval(){
	   		ignore_user_abort(); //即使Client断开(如关掉浏览器),PHP脚本也可以继续执行. 
			set_time_limit(0); // 执行时间为无限制,php默认执行时间是30秒,可以让程序无限制的执行下去 
			$interval = 7200; //时间(因为有有效期,2小时 7200秒)
			do{ 
				$this->getAccess_token();
				sleep($interval);//等待时间,进行下一次操作。
				ob_flush();//把数据从PHP的缓冲(buffer)中释放出来。
				flush(); 
			}while(true);
	   	}
	}
?>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值