首页 > 开发 > Php > 正文

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

2020-02-21 21:06:08
字体:
来源:转载
供稿:网友

本文实例为大家分享了用于验证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;  }}?>

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表