PHP下发微信模板消息
时间: 2023-10-18 12:05:46 浏览: 113
php 微信模板消息发送
要在PHP中发送微信模板消息,可以使用微信官方提供的接口。以下是一个简单的例子,可以作为参考:
```php
<?php
// 微信公众号APPID和APPSECRET
$appid = 'your_appid';
$appsecret = 'your_appsecret';
// 接收消息的用户openid
$openid = 'user_openid';
// 模板消息ID
$template_id = 'your_template_id';
// 模板消息中需要替换的变量
$data = array(
'first' => array('value' => '您好,您的订单已支付成功'),
'keyword1' => array('value' => '20190101001'),
'keyword2' => array('value' => '100元'),
'remark' => array('value' => '感谢您的支持!')
);
// 发送模板消息
$url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".getAccessToken($appid, $appsecret);
$post_data = array(
'touser' => $openid,
'template_id' => $template_id,
'data' => $data
);
$json_data = json_encode($post_data);
$result = https_request($url, $json_data);
var_dump($result);
/**
* 获取access_token
* @param string $appid 微信公众号APPID
* @param string $appsecret 微信公众号APPSECRET
* @return string
*/
function getAccessToken($appid, $appsecret)
{
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$appsecret}";
$result = https_request($url);
$access_token = json_decode($result, true)['access_token'];
return $access_token;
}
/**
* 发送HTTP请求
* @param string $url 请求地址
* @param string $data POST数据
* @return string
*/
function https_request($url, $data = null)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
if (!empty($data)) {
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
return $output;
}
```
在代码中,我们首先定义了微信公众号的APPID和APPSECRET,以及接收消息的用户openid和模板消息ID。然后定义了一个$data数组,用于存放模板消息中需要替换的变量。
接着定义了一个getAccessToken函数,用于获取access_token。access_token是调用微信接口的重要凭证,在发送模板消息时需要用到。
最后定义了一个https_request函数,用于发送HTTP请求。在发送模板消息时,我们将模板消息数据封装成一个数组$post_data,然后将其转换成JSON格式,使用https_request函数发送POST请求,即可完成模板消息的发送。
阅读全文