<?php
namespace
app\weixin\controller;
use
think\Controller;
define(
"TOKEN"
,
"******"
);
class
Wx2
extends
Controller {
public
function
index()
{
$echoStr
=
$_GET
[
"echostr"
];
if
(
$this
->checkSignature()){
ob_clean();
echo
$echoStr
;
exit
;
}
}
public
function
responseMsg()
{
$postStr
=
$GLOBALS
[
"HTTP_RAW_POST_DATA"
];
if
(!
empty
(
$postStr
)){
$postObj
= simplexml_load_string(
$postStr
, 'SimpleXMLElement', LIBXML_NOCDATA);
$fromUsername
=
$postObj
->FromUserName;
$toUsername
=
$postObj
->ToUserName;
$keyword
= trim(
$postObj
->Content);
$time
= time();
$textTpl
= "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>0</FuncFlag>
</xml>";
if
(!
empty
(
$keyword
))
{
$msgType
=
"text"
;
$contentStr
=
"Welcome to wechat world!"
;
$resultStr
= sprintf(
$textTpl
,
$fromUsername
,
$toUsername
,
$time
,
$msgType
,
$contentStr
);
echo
$resultStr
;
}
else
{
echo
"Input something..."
;
}
}
else
{
echo
""
;
exit
;
}
}
private
function
checkSignature()
{
$signature
=
$_GET
[
"signature"
];
$timestamp
=
$_GET
[
"timestamp"
];
$nonce
=
$_GET
[
"nonce"
];
$token
= TOKEN;
$tmpArr
=
array
(
$token
,
$timestamp
,
$nonce
);
sort(
$tmpArr
,SORT_STRING); 72
$tmpStr
= implode(
$tmpArr
);
$tmpStr
= sha1(
$tmpStr
);
if
(
$tmpStr
==
$signature
){
return
true;
}
else
{
return
false;
}
}
}
暂时没有评论,来抢沙发吧~