您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
小编给大家分享一下php如何实现验证token、回复图文\文本、推送消息的实用微信类,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
具体代码如下
<?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;
}
}
?>看完了这篇文章,相信你对“php如何实现验证token、回复图文\文本、推送消息的实用微信类”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。