作者:陈晏亚363951 | 来源:互联网 | 2017-05-13 02:17
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)){
/* libxml_disable_entity_loader is to prevent XML eXternal Entity Injection,
the best way is to check the validity of xml by yourself */
libxml_disable_entity_loader(true);
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$keyword = trim($postObj->Content);
$time = time();
$type=$postObj->MsgType;
$customevent=$postObj->Event;
$latitude=$postObj->Location_X;
$l
$textTpl = "
%s
0
";
//发送位置回复
if($type=="location"){
$c
$msgType = "text";
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;
}
//关键字回复
if(!empty( $keyword ))
{
$msgType = "text";
if($keyword=="1") {
$cOntentStr= "感谢关注泛IT!";}
if($keyword=="2") {
$cOntentStr= "联系QQ:,欢迎投稿以及提出宝贵意见";}
if($keyword=="3") {
$cOntentStr= "你的图片不错,还是输入文字吧!";}
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;
}else{
echo "Input something...";
}
//关注公众号后回复
if($type="event" and $customevent="subscribe"){
$c
$msgType = "text";
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;
}
//图片回复
if($type="image"){
$c
$msgType = "text";
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;
}  
//switch语句优化
/*
switch($type)
{
//处理文本
case "text":
//关键字回复
if(!empty( $keyword ))
{
//$msgType = "text";
if($keyword=="1") {
$cOntentStr= "回复1查看使用说明\n回复2查看联系方式\n回复3使用翻译字典\n回复4使用机器人聊天功能";}
if($keyword=="2") {
$cOntentStr= "联系QQ:,欢迎投稿以及提出宝贵意见";}
}else{
$c }
break;
//处理图片信息
case "image":
$c
break;
//处理位置信息
case "location":
$c
break;
//处理关注事件
case "event":
if($customevent=="subscribe")
{$c
break;
default:
$c
}
$msgType = "text";
$resultStr=sprintf($textTpl,$fromUsername,$toUsername,$time,$msgType,$contentStr);
echo $resultStr;
*/
}else { echo ""; exit; }
}
private function checkSignature()
{ // you must define TOKEN by yourself if (!defined("TOKEN")) { throw new Exception('TOKEN is not defined!'); } $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nOnce= $_GET["nonce"]; $token = TOKEN;$tmpArr = array($token, $timestamp, $nonce); // use SORT_STRING rulesort($tmpArr, SORT_STRING);$tmpStr = implode( $tmpArr );$tmpStr = sha1( $tmpStr );if( $tmpStr == $signature ){return true;}else{return false;}}}?>
以上就介绍了php微信开发01,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。