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

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:PHP模擬登陸163郵箱發郵件及獲取通訊錄列表的方法
      這篇文章主要介紹了PHP模擬登陸163郵箱發郵件及獲取通訊錄列表的方法,實例分析了php實用curl模擬登陸163郵箱的操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下 本文實例講述了PHP模擬登陸163郵箱發郵件及獲取通訊錄列表的方法。分享給大家供大家參考。具體實現方

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

         

      本文實例講述了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程序設計有所幫助。

      分享:Laravel 5 學習筆記
      本文記錄的是個人在學習實用laravel5的過程中遇到的幾個重點的地方,也是最容易犯錯的地方,這里記錄下來,分享給大家。 1.Laravel 5 動態設置緩存引擎 代碼如下: \Config::set('cache.default','redis'); var_dump( \Config::get('cache.default') ); \Config::set('ca

      來源:模板無憂//所屬分類:PHP教程/更新時間:2015-03-08
      相關PHP教程