21,887
社区成员
发帖
与我相关
我的任务
分享
public function index(){
if(isset($_GET['echostr'])){
echo $_GET['echostr'];
}else{
$xml_str = $GLOBALS['HTTP_RAW_POST_DATA'];//获取POST到服务器的XML信息
$xml=simplexml_load_string($xml_str,'SimpleXMLElement',LIBXML_NOCDATA);
$jsonStr = json_encode($xml);
$arr = json_decode($jsonStr,true);
switch($arr['MsgType']){
case 'text'://文本消息处理
echo $this->TextMessage($arr);
break;
case 'event'://事件类型处理
echo $this->event($arr);
break;
default:
echo $this->other($arr);
}
}
}
public function TextMessage($arr){
$data=[
'MsgId'=>$arr['MsgId'],
'ToUserName'=>$arr['ToUserName'],
'FromUserName'=>$arr['FromUserName'],
'CreateTime'=>$arr['CreateTime'],
'state'=>'未答复',
'MsgType'=>$arr['MsgType'],
'Content'=>$arr['Content']
];
//将信息存入数据库
$bool=M('info')->data($data)->add();
if($bool){
return 'success';
}else{
$str="<xml><ToUserName><![CDATA[{$data['FromUserName']}]]></ToUserName><FromUserName><![CDATA[{$data['ToUserName']}]]></FromUserName><CreateTime>".time()."</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[服务器异常,请联系管理员]]></Content></xml>";
return $str;
}
}