本文实例讲述了PHP微信模板消息操作方法。分享给大家供大家参考,具体如下:
微信SDK:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
<?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代码:
1
2
3
|
//推送模板信息给置业顾问 $send = new Oauth(); //实例化类 $send ->sendMessage( $zhiyeguwen , $clientName , $tel , $product ); //调用方法 |
完成,微信模板信息不难,有问题互相交流!!!
希望本文所述对大家PHP程序设计有所帮助。