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

微信公众平台PHP示例一

2015-12-19 09:28 591 查看
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2015-12-18
* Time: 21:51
*/
define("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_strin);

$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,'Simp',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);
echo $resultStr;
}
}
else
{
echo "";
exit;
}

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