您的位置:首页 > 移动开发 > 微信开发

微信关注回复代码

2015-09-02 14:14 686 查看
/*
* 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;
$type	  		= $postObj ->MsgType;
$customevent	= $postObj ->Event;
$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($type == "event" and $customevent == "subscribe"){
$contentStr = "感谢你的关注 \n 回复1 电话 邮箱	\n 回复2.qq信息	\n 回复3地址信息";
$msgType = "text" ;
$resultStr  = sprintf($textTpl,$fromUsername,$toUsername,$time,$msgType,$contentStr);
echo $resultStr;
}

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;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: