今天编译到这里了,就记录一下
☆☆☆☆☆☆下次开袋即食☆☆☆☆☆☆
1.首先在根目录建立一个文件access_token.txt,记得看我访问的文件地址,是根目录不是public下面,防止被访问到修改
2.封装请求方法
function https_request($url)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($curl);
if (curl_errno($curl)) {
return 'ERROR ' . curl_error($curl);
}
curl_close($curl);
return $data;
}
3.获取token及存储成文件格式以及过期的自动判断
function getAccessToken($appid = '', $appsecret = '')
{
$tokenFile = "../access_token.txt";//缓存文件名
$data = json_decode(file_get_contents($tokenFile));
if (empty($data) or $data->expire_time < time() or !$data->expire_time) {
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" .$appid ."&secret=" . $appsecret;
$out = $this->https_request($url);
$jsonout = json_decode($out, true);
$access_token = $jsonout["access_token"];
if ($access_token) {
$data['expire_time'] = time() + 7000;
$data['access_token'] = $access_token;
$fp = fopen($tokenFile, "w");
fwrite($fp, json_encode($data));
fclose($fp);
}
// return $jsonout["access_token"];
} else {
$access_token = $data->access_token;
}
return $access_token;
}