本文实例讲述了PHP微信模板消息操作方法。分享给大家供大家参考,具体如下:
微信SDK:
<?php class Oauth { //获得全局access_token public function get_token(){ //如果已经存在直接返回access_token //if($_SESSION['access_token'] && $_SESSION['expire_time']>time()){ //return $_SESSION['access_token']; //}else{ //1.请求url地址 $appid = APPID; //appid $appsecret = APPSECRET; //appsecret $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appsecret; //请求地址 //2初始化curl请求 $ch = curl_init(); //3.配置请求参数 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在 curl_setopt($ch, CURLOPT_URL, $url); //请求 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //不直接输出数据 //4.开始请求 $res = curl_exec($ch); //获取请求结果 if( curl_errno($ch) ){ var_dump( curl_error($ch) ); //打印错误信息 } //5.关闭curl curl_close( $ch ); $arr = json_decode($res, true); //将结果转为数组 //$_SESSION['access_token']=$arr['access_token']; //将access_token存入session中,可以不存,每次都获得新的token //$_SESSION['expire_time']=time()+7200; return $arr['access_token']; //} } //推送模板信息 参数:发送给谁的openid,客户姓名,客户电话,推荐楼盘(参数自定) function sendMessage($openid,$customName,$customPhone,$reportBuilding) { //获取全局token $token = $this->get_token(); $url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$token; //模板信息请求地址 //发送的模板信息(微信要求json格式,这里为数组(方便添加变量)格式,然后转为json) $post_data = array( "touser"=>$openid, //推送给谁,openid "template_id"=>"nKu4eyktzxOslxq0KfPxhGXbiOo873K9mIxKvs23EVU", //微信后台的模板信息id "url"=>"http://www.baidu.com", //下面为预约看房模板示例 "data"=> array( "first" => array( "value"=>"您有新客户,请及时查看!", "color"=>"#173177" ), "customName"=>array( "value"=>$customName, //传的变量 "color"=>"#173177" ), "customPhone"=>array( "value"=>$customPhone, "color"=>"#173177" ), "reportBuilding"=> array( "value"=>$reportBuilding, "color"=>"#173177" ), "reportTime"=> array( "value"=>date('Y-m-d H:i:s'), "color"=>"#173177" ), "remark"=> array( "value"=>"请及时联系客户哦!", "color"=>"#173177" ), ) ); //将上面的数组数据转为json格式 $post_data = json_encode($post_data); //发送数据,post方式 //配置curl请求 $ch = curl_init(); //创建curl请求 curl_setopt($ch, CURLOPT_URL,$url); //设置发送数据的网址 curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //设置有返回值,0,直接显示 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0); //禁用证书验证 curl_setopt($ch, CURLOPT_POST, 1); //post方法请求 curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);//post请求发送的数据包 //接收执行返回的数据 $data = curl_exec($ch); //关闭句柄 curl_close($ch); $data = json_decode($data,true); //将json数据转成数组 return $data; } //获取模板信息-行业信息(参考,示例未使用) function getHangye(){ //用户同意授权后,会传过来一个code $token = $this->get_token(); $url = "https://api.weixin.qq.com/cgi-bin/template/get_industry?access_token=".$token; //请求token,get方式 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0); $data = curl_exec($ch); curl_close($ch); $data = json_decode($data,true); //将json数据转成数组 //return $data["access_token"]; return $data; } }
PHP代码:
//推送模板信息给置业顾问 $send = new Oauth(); //实例化类 $send->sendMessage($zhiyeguwen,$clientName,$tel,$product); //调用方法
完成,微信模板信息不难,有问题互相交流!!!
希望本文所述对大家PHP程序设计有所帮助。