微信自动回复代码
/*
* wechat php test
*/
//define your token
define("TOKEN", "weixin");
$wechatObj =new WechatCallbackapiTest();
$wechatObj ->valid();
$wechatObj ->responseMsg();
class WechatCallbackapiTest
{
public function valid()
{
$echoStr= $_GET[\'echostr\'];
//valid signature , option
if($this->checkSignature())
{
echo $echoStr;
exit;
}
}
public function responseMsg()
{
//get post data , May be due to the different environments
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
//extract 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 = "Hi 欢迎你的关注!";
$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);
$tmpStr = implode(\'\',$tmpArr);
$tmpStr = sha1($tmpStr);
if( $tmpStr == $signature){
return true;
}else{
return false;
}
}
}
来自于datou:https://github.com/datou-leo/ci
内容版权声明:除非注明,否则皆为本站原创文章。