微信关键词自动回复代码

来源:互联网 发布:苹果笔记本软件关闭 编辑:程序博客网 时间:2024/05/04 11:34
/** wechat php test*///define your tokendefine("TOKEN", "weixin");$wechatObj =new WechatCallbackapiTest();$wechatObj ->valid();$wechatObj ->responseMsg();class WechatCallbackapiTest{public function valid(){$echoStr= $_GET['echostr'];//valid signature , optionif($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 dataif(!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 = "1 电话 邮箱2.qq信息3地址信息";if($keyword == "1"){//关键词为1时回复$contentStr = "电话:15057190640 Email:2323178881@qq.com !!";}if ($keyword == "2") {//关键词为2时回复$contentStr = "我的qq是2323178881 !";}if ($keyword == "3") {//关键词为3时回复$contentStr = "浙江省杭州市江干区闸弄口街道!";}$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;}}}

0 0