Welcome

首页 / 网页编程 / PHP / php版微信自定义回复功能示例

本文实例讲述了php版微信自定义回复功能。分享给大家供大家参考,具体如下:

配置好服务器之后,就可以用php实现自动回复了。
index.php中的代码
<?phpdefine("TOKEN", "weixin");$wechatObj = new wechatCallbackapiTest();if (isset($_GET["echostr"])) {$wechatObj->valid();}else{$wechatObj->responseMsg();}class wechatCallbackapiTest{public function valid(){$echoStr = $_GET["echostr"];if($this->checkSignature()){header("content-type:text");echo $echoStr;exit;}}private function checkSignature(){$signature = $_GET["signature"];$timestamp = $_GET["timestamp"];$nonce = $_GET["nonce"];$token = TOKEN;$tmpArr = array($token, $timestamp, $nonce);sort($tmpArr, SORT_STRING);$tmpStr = implode( $tmpArr );$tmpStr = sha1( $tmpStr );if( $tmpStr == $signature ){return true;}else{return false;}}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($keyword == "?" || $keyword == "?") //获取用户信息{$msgType = "text";$contentStr = date("Y-m-d H:i:s",time()); // 回复的内容$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);echo $resultStr;}}else{echo "";exit;}}}?>
效果:
当用户输入?或者?就会获取当前时间

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP微信开发技巧汇总》、《PHP编码与转码操作技巧汇总》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。