本文实例为大家分享了用于验证token,回复图文、文本,向用户推送消息等功能的微信类,具体代码如下
<?phpclass 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;}}?>以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。