本文实例讲述了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程序设计有所帮助。