驗證token、回復(fù)圖文\文本、推送消息的實用微信類php代碼
更新時間:2016年06月28日 10:56:28 作者:liuzp111
這篇文章主要為大家詳細(xì)介紹了php代碼實現(xiàn)驗證token、回復(fù)圖文\文本、推送消息的實用微信類,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了用于驗證token,回復(fù)圖文、文本,向用戶推送消息等功能的微信類,具體代碼如下
<?php class Wechat{ private $data = array(); public function __construct($token){ $this -> auth($token, $wxuser) || exit; if(IS_GET){ echo($_GET['echostr']); exit; }else{ $xml = file_get_contents("php://input"); $xml = new SimpleXMLElement($xml); //file_put_contents('/var/log/test.txt', $xml,FILE_APPEND); $xml || exit; foreach ($xml as $key => $value){ $this -> data[$key] = strval($value); } } } public function request(){ return $this -> data; } public function response($content, $type = 'text', $flag = 0){ $this -> data = array('ToUserName' => $this -> data['FromUserName'], 'FromUserName' => $this -> data['ToUserName'], 'CreateTime' => NOW_TIME, 'MsgType' => $type); $this -> $type($content); $this -> data['FuncFlag'] = $flag; $xml = new SimpleXMLElement('<xml></xml>'); $this -> data2xml($xml, $this -> data); exit($xml -> asXML()); } private function text($content){ $this -> data['Content'] = $content; } private function music($music){ list($music['Title'], $music['Description'], $music['MusicUrl'], $music['HQMusicUrl']) = $music; $this -> data['Music'] = $music; } private function news($news){ $articles = array(); foreach ($news as $key => $value){ list($articles[$key]['Title'], $articles[$key]['Description'], $articles[$key]['PicUrl'], $articles[$key]['Url']) = $value; if($key >= 9){ break; } } $this -> data['ArticleCount'] = count($articles); $this -> data['Articles'] = $articles; } private function transfer_customer_service($content){ $this -> data['Content'] = ''; } private function data2xml($xml, $data, $item = 'item'){ foreach ($data as $key => $value){ is_numeric($key) && $key = $item; if(is_array($value) || is_object($value)){ $child = $xml -> addChild($key); $this -> data2xml($child, $value, $item); }else{ if(is_numeric($value)){ $child = $xml -> addChild($key, $value); }else{ $child = $xml -> addChild($key); $node = dom_import_simplexml($child); $node -> appendChild($node -> ownerDocument -> createCDATASection($value)); } } } } private function auth($token){ $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr, SORT_STRING); $tmpStr = implode($tmpArr); $tmpStr = sha1($tmpStr); if(trim($tmpStr) == trim($signature)){ return true; }else{ return false; } return true; } } ?>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- thinkphp5框架API token身份驗證功能示例
- php版微信開發(fā)Token驗證失敗或請求URL超時問題的解決方法
- PHP token驗證生成原理實例分析
- PHP實現(xiàn)微信公眾號驗證Token的示例代碼
- php token使用與驗證示例【測試可用】
- PHP實現(xiàn)防止表單重復(fù)提交功能【基于token驗證】
- 詳解php curl帶有csrf-token驗證模擬提交方法
- Thinkphp5 微信公眾號token驗證不成功的原因及解決方法
- 關(guān)于php微信訂閱號開發(fā)之token驗證后自動發(fā)送消息給訂閱號但是沒有消息返回的問題
- php中關(guān)于token驗證的相關(guān)問題詳解
相關(guān)文章
使用PHP socke 向指定頁面提交數(shù)據(jù)
一直以為有了ajax別人網(wǎng)站的數(shù)據(jù)就可以拿過來用,這也是我這幾天想的一個方像,但是用了firefox測試之后,現(xiàn)在不能,2008-07-07將CMYK顏色值和RGB顏色相互轉(zhuǎn)換的PHP代碼
本節(jié)主要介紹了將CMYK顏色值和RGB顏色相互轉(zhuǎn)換的PHP代碼,需要的朋友可以參考下2014-07-07PHP依賴注入(DI)和控制反轉(zhuǎn)(IoC)詳解
這篇文章主要介紹了PHP依賴注入(DI)和控制反轉(zhuǎn)(IoC)的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06mac下Apache + MySql + PHP搭建網(wǎng)站開發(fā)環(huán)境
最近接了個小活,做一個使用PHP語言和MySql數(shù)據(jù)庫的動態(tài)網(wǎng)站。之前做過類型的網(wǎng)站,是在windows系統(tǒng)下做的,開發(fā)環(huán)境使用的是 AppServ 的PHP開發(fā)套件?,F(xiàn)在有了我的大MAC,所以找了MAC系統(tǒng)下PHP環(huán)境的開發(fā)套件。2014-06-06PHP基于雙向鏈表與排序操作實現(xiàn)的會員排名功能示例
這篇文章主要介紹了PHP基于雙向鏈表與排序操作實現(xiàn)的會員排名功能,結(jié)合實例形式分析了php雙向鏈表的功能、定義及基于雙向鏈表的排序操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2017-12-12