加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

验证token、回复图文\文本、推送消息的实用微信类php代码

发布时间:2020-12-12 21:35:44 所属栏目:PHP教程 来源:网络整理
导读:本文实例为大家分享了用于验证token,回复图文、文本,向用户推送消息等功能的微信类,具体代码如下 auth($token,$wxuser) || exit; if(IS_GET){ echo($_GET['echostr']); exit; }else{ $xml = file_get_contents("php://input"); $xml = new SimpleXMLEleme

本文实例为大家分享了用于验证token,回复图文、文本,向用户推送消息等功能的微信类,具体代码如下

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('');
$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;
}
}
?>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读