《PHP實例:php實現發送微信模板消息的方法》要點:
本文介紹了PHP實例:php實現發送微信模板消息的方法,希望對您有用。如果有疑問,可以聯系我們。
PHP學習本文實例講述了php實現發送微信模板消息的方法.分享給大家供大家參考.具體如下:
PHP學習該方法基于thinkphp實現實現,具體OrderPush.class.php文件如下:
代碼如下:
<?php
namespace Org\Weixin;
/**
?* Created by PhpStorm.
?* User: StandOpen
?* Date: 15-1-7
?* Time: 9:41
?*/
class OrderPush
{
??? protected $appid;
??? protected $secrect;
??? protected $accessToken;
??? function? __construct($appid, $secrect)
??? {
??????? $this->appid = $appid;
??????? $this->secrect = $secrect;
??????? $this->accessToken = $this->getToken($appid, $secrect);
??? }
??? /**
???? * 發送post哀求
???? * @param string $url
???? * @param string $param
???? * @return bool|mixed
???? */
??? function request_post($url = '', $param = '')
??? {
??????? if (empty($url) || empty($param)) {
??????????? return false;
??????? }
??????? $postUrl = $url;
??????? $curlPost = $param;
??????? $ch = curl_init(); //初始化curl
??????? curl_setopt($ch, CURLOPT_URL, $postUrl); //抓取指定網頁
??????? curl_setopt($ch, CURLOPT_HEADER, 0); //設置header
??????? curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //要求結果為字符串且輸出到屏幕上
??????? curl_setopt($ch, CURLOPT_POST, 1); //post提交方式
??????? curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
??????? $data = curl_exec($ch); //運行curl
??????? curl_close($ch);
??????? return $data;
??? }
??? /**
???? * 發送get哀求
???? * @param string $url
???? * @return bool|mixed
???? */
??? function request_get($url = '')
??? {
??????? if (empty($url)) {
??????????? return false;
??????? }
??????? $ch = curl_init();
??????? curl_setopt($ch, CURLOPT_URL, $url);
??????? curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
??????? $data = curl_exec($ch);
??????? curl_close($ch);
??????? return $data;
??? }
??? /**
???? * @param $appid
???? * @param $appsecret
???? * @return mixed
???? * 獲取token
???? */
??? protected function getToken($appid, $appsecret)
??? {
??????? if (S($appid)) {
??????????? $access_token = S($appid);
??????? } else {
??????????? $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . $appid . "&secret=" . $appsecret;
??????????? $token = $this->request_get($url);
??????????? $token = json_decode(stripslashes($token));
??????????? $arr = json_decode(json_encode($token), true);
??????????? $access_token = $arr['access_token'];
??????????? S($appid, $access_token, 720);
??????? }
??????? return $access_token;
??? }
??? /**
???? * 發送自定義的模板消息
???? * @param $touser
???? * @param $template_id
???? * @param $url
???? * @param $data
???? * @param string $topcolor
???? * @return bool
???? */
??? public function doSend($touser, $template_id, $url, $data, $topcolor = '#7B68EE')
??? {
??????? /*
???????? * data=>array(
??????????????? 'first'=>array('value'=>urlencode("您好,您已購買成功"),'color'=>"#743A3A"),
??????????????? 'name'=>array('value'=>urlencode("商品信息:微時代電影票"),'color'=>'#EEEEEE'),
??????????????? 'remark'=>array('value'=>urlencode('永久有效!密碼為:1231313'),'color'=>'#FFFFFF'),
??????????? )
???????? */
??????? $template = array(
??????????? 'touser' => $touser,
??????????? 'template_id' => $template_id,
??????????? 'url' => $url,
??????????? 'topcolor' => $topcolor,
??????????? 'data' => $data
??????? );
??????? $json_template = json_encode($template);
??????? $url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" . $this->accessToken;
??????? $dataRes = $this->request_post($url, urldecode($json_template));
??????? if ($dataRes['errcode'] == 0) {
??????????? return true;
??????? } else {
??????????? return false;
??????? }
??? }
}
PHP學習希望本文所述對大家的php程序設計有所幫助.
《PHP實例:php實現發送微信模板消息的方法》是否對您有啟發,歡迎查看更多與《PHP實例:php實現發送微信模板消息的方法》相關教程,學精學透。維易PHP學院為您提供精彩教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/11858.html