微信 接入验证 基本回复 自己openid获得方法

3 篇文章 0 订阅
<?php



define ( "TOKEN", "wxsflsgfs" );

function checkSignature() {
	$signature = $_GET ['signature'];
	$nonce = $_GET ['nonce'];
	$timestamp = $_GET ['timestamp'];
	$tmpArr = array ($nonce, $timestamp, TOKEN );
	sort ( $tmpArr );
	
	$tmpStr = implode ( $tmpArr );
	$tmpStr = sha1 ( $tmpStr );
	if ($tmpStr == $signature) {
		return true;
	}
	return false;
}
if(false == checkSignature()) {
	exit(0);
}
$echostr = $_GET ['echostr'];
/*if(true == checkSignature()) { 
    if($echostr) {
    	echo $echostr;
    	exit(0);
}
} //在验证token时,即提交微信服务器验证时打开,并注释掉以后所有程序,验证后再切换

//因为下一if语句也可以不这么麻烦
*/
if($echostr) {
	echo $echostr;
	exit(0);
}
	function getPostData() {
			$data = $GLOBALS['HTTP_RAW_POST_DATA'];
				return	$data;
	}
$PostData = getPostData();

if(!$PostData){
	echo_server_log("wrong input! PostData is NULL");
	echo "wrong input!";
	exit(0);
}
$xmlObj = simplexml_load_string($PostData, 'SimpleXMLElement', LIBXML_NOCDATA);
if(!$xmlObj) {
	echo_server_log("wrong input! xmlObj is NULL\n");
	echo "wrong input!";
	exit(0);
}
$fromUserName = $xmlObj->FromUserName;
$toUserName = $xmlObj->ToUserName;
$msgType = $xmlObj->MsgType;
//以下位guanfs调试用代码
$keyword =trim($xmlObj->Content);
$MsgId =$xmlObj->MsgId; //消息内容的随机id
$CreateTime = time();//$xmlObj->Createtime;//intval()
$formtime =date("Y-m-d H:i:s",$CreateTime);
$time=time();
$retTmp = "<xml>
		<ToUserName><![CDATA[%s]]></ToUserName>
		<FromUserName><![CDATA[%s]]></FromUserName>
		<CreateTime>%s</CreateTime>
		<MsgType><![CDATA[text]]></MsgType>
		<Content><![CDATA[%s]]></Content>
		<FuncFlag>0</FuncFlag>
		</xml>";
		
//查看消息内容
if('text' != $msgType) {
    $retMsg = '只支持文本消息';
}else{
    
    $mymsg ="微信服务号ID:".$toUserName."\n";
    $mymsg .="手机用户ID:".$fromUserName."\n";
    $mymsg .="消息发送时间戳:".$CreateTime."\n";
    $mymsg .="消息类型:".$msgType."\n";
    $mymsg .="消息内容:".$keyword."\n";
    $mymsg .="消息ID:".$MsgId."\n";
    $retMsg = $mymsg;
}

$resultStr = sprintf($retTmp, $fromUserName, $toUserName,time(),$retMsg);
echo $resultStr

?>
具体看代码吧,保存为echoserver.php既可以使用,手机上会收到相关返回信息。微信的接入验证和其他开发的功能如群发模板消息的功能没有必然联系,可以放在不同文件中。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值