xmlToArray(file_get_contents("php://input")); /*$xml=' 1605773759 '; $resq=json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);*/ foreach($resq as $key=>$val){ $this->$key=$val; } /*$TempDataLog=[]; $TempDataLog['event'] = $resq['Event']; $TempDataLog['contents'] = json_encode($resq); $TempDataLog['addtime'] = time(); Db::name('wx_temp_log')->insertGetId($TempDataLog);*/ //error_log(json_encode($resq), 3, 'sub.log'); return true; } public function CheckSignature(){ $sign=$_GET; $arr['token']=$this->token; $arr['timestamp']=$sign['timestamp']; $arr['nonce']=$sign['nonce']; asort($arr); $sha1=sha1(implode('',$arr)); if($sha1==$sign['signature']){ return true; } return false; } public function xmlToArray($xml) { //error_log($xml, 3, 'xml.log'); //将XML转为array $array_data = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true); return $array_data; } public function ArrayToXml($arr){ $xml=''; $xml=''; $this->ToXml($arr,$xml); $xml.=''; return $xml; } public function ToXml($data,&$xml){ foreach($data as $k=>$v){ if(is_array($v)){ $xml.=' <'.$k.'>'; $this->ToXml($v, $xml); $xml.=' '; }else{ if(is_int($v)){ $xml.=' <'.$k.'>'.$v.''; }else{ $xml.=' <'.$k.'>'; } } } } }