程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php實現發送微信模板消息的方法

php實現發送微信模板消息的方法

編輯:關於PHP編程

     這篇文章主要介紹了php實現發送微信模板消息的方法,實例分析了php操作curl及自定義模板消息的實現技巧,具有一定參考借鑒價值,需要的朋友可以參考下

       

    本文實例講述了php實現發送微信模板消息的方法。分享給大家供大家參考。具體如下:

    該方法基於thinkphp實現實現,具體OrderPush.class.php文件如下:

    代碼如下: <?php
    namespace OrgWeixin;
    /**
    * 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程序設計有所幫助。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved