<?php
define("TOKEN","weixin");
$wechatObj=new wechatCallbackapiTest()
$wechatObj->valid();
class wechatCallbackapiTest{
public function valid(){
$echoStr=$_GET['echostr'];
if($this->checkSignature()){
echo $echoStr;
exit;
}
}
public function responseMsg(){
$postStr=$GLOBALS["HTTP_RAW_POST_DATA"];
if(!empty($postStr)){
$postObj=simple_load_string($postStr,'SimpleXMLElment',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;
}
}
public 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;
}
}
}
?>
define("TOKEN","sample");
$wechatObj=new wechatCallbackapiTest();
$wechatObj->valid();
class wechatCallbackapiTest{
public function valid(){
$echoStr=$_GET['echostr'];
if($this->checkSignature()){
echo $echoStr;
exit;
}
}
public function responseMsg(){
$postStr=$GLOBALS["HTTP_RAW_POST_DATA"];
if(!empty($postStr)){
$postObj=simple_load_string($postStr,'SimpleXMLElement',LIBXML_NOCDATA);
$fromUsername=$postObj->FromUserName;
$toUsername=$postObj->toUsername;
$keyword=trim($postObj->Content);
$time=time();
$textTpl="";
if(!empty($keyword)){
$msgType="text";
$contentStr="欢迎光临";
$resultStr=sprintf($textTpl,$fromUsername,$time,$msgType,$contentStr);
echo $resultStr;
}else{
echo "输入中。。。";
}
}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;
}
}
}