php缓存accestoken_PHP获取微信access_token

PHP获取微信access_token<?php

namespace app\home\controller;

use think\Controller;

define("APPID", "");

define('SECRET', "");

class WeChat extends Controller {

/**

*获取access_token

*/

public function getAccessToken()

{

$appid=APPID;

$secret=SECRET;

//access_token暂存地址在和入口文件同级目录下

$token_file='access_token.txt';

//判断access_token文件是否已经过期,未过期直接返回文件内容

$life_time=7200;

if (file_exists($token_file) && time()-filemtime($token_file)

return file_get_contents($token_file);

}

//若是文件过期根据URL重新获取access_token

$url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$secret";

//发送GET请求

$result=$this->request($url);

if (!$result) {

return false;

}

//获取响应返回结果

$arr=json_decode($result,true);

//将access_token保存在文件中

file_put_contents($token_file, $arr['access_token']);

return $arr['access_token'];

}

/*

*发送GET请求方法

*@param string $url URL

*@param bool $ssl  是否为https协议

*@return string   响应主体内容

*/

private function request($url,$data=null){

$curl=curl_init();

curl_setopt($curl, CURLOPT_URL, $url);

//设定为不验证证书和host

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);

curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);

if(!empty($data)){

curl_setopt($curl, CURLOPT_POST, true);

curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

}

// 将curl_exec()获取的信息以文件流的形式返回,而不是直接输出

curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);

$output=curl_exec($curl);

if (false===$output) {

echo "
",curl_error($curl),"
";

return false;

}

curl_close($curl);

return $output;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值