本文实例为大家分享了用于验证token,回复图文、文本,向用户推送消息等功能的微信类,具体代码如下
php" id="highlighter_187281">
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
<?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; } } ?> |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。