获取access_token与生成永久二维码

define('APPID', 'wx2fb728a57b78be86');
define('APPKEY', 'f6de3c320e0c75d0b83e43406d57982b');
define('WX','gh_743126a2ece1');

//获取凭据access_token
function at(){
	//如果缓存文件存在并且是7200秒之内更新的就直接读取缓存文件
	if(file_exists('./at') && time()-filemtime('./at')<7200){
		return file_get_contents('./at');
	}
	//以get方式请求
	$ret = file_get_contents('https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.APPID.'&secret='.APPKEY.'');
	//把json转为数组,第二个参数为true返回数组,false返回对象
	$ret = json_decode($ret,true);
	//写入文件
	file_put_contents('./at', $ret['access_token']);
	return $ret['access_token'];
}

//生成二维码
function qrcode($id){
	$data = '{"action_name": "QR_LIMIT_SCENE", "action_info": {"scene": {"scene_id": '.$id.'}}}';
	$ret = p_post('https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token='.at(),$data);
	$ret = json_decode($ret,true);
	//根据ticket获取图片
	$img = file_get_contents('https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket='.UrlEncode($ret['ticket']));
	file_put_contents("$id.png",$img);
}

//模拟post请求,既可以是http也可以是https
function p_post($url,$data,$https=true){
	$curl = curl_init(); //启动一个CURL会话
	curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
	if($https){
		curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); //对认证证书来源的检测
		curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); //从证书中检查SSL加密算法是否存在
	}
	curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); //模拟用户使用的浏览器
	curl_setopt($curl, CURLOPT_POST, 1); //发送一个常规的post请求
	curl_setopt($curl, CURLOPT_POSTFIELDS, $data); //post提交的数据包
	curl_setopt($curl, CURLOPT_TIMEOUT, 30); //设置超时限制防止死循环
	curl_setopt($curl, CURLOPT_HEADER, 0); //显示返回的header区域内容
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //获取的信息以文件流的形式返回
	$tmpInfo = curl_exec($curl); //执行操作
	curl_close($curl); //关闭curl会话
	return $tmpInfo; //返回数据
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值