微信公众平台SDK开发(二)

获取用户发送的消息内容

Wx.php

<?php
namespace wechat;
 
class Wx{
	protected $config=[];
	protected $message;
	public function __construct(array $config){
		$this->config=$config;
		$this->message=$this->parsePostRequestData();
	}
	public function show(){
		echo 'wx';
	}
	//与微信服务器进行绑定
	public function valid(){
		$signature=$_GET["signature"];
		$timestamp=$_GET["timestamp"];
		$nonce=$_GET['nonce'];
		
		//$token='developer';
		$token=$this->config['token'];
		$tmpArr=array($token,$timestamp,$nonce);
		sort($tmpArr,SORT_STRING);
		$tmpStr=implode($tmpArr);
		$tmpStr=sha1($tmpStr);
		
		if($tmpStr==$signature){
			echo $_GET['echoStr'];
		}
	}
	//获取并解析用户发来的消息内容
	private function parsePostRequestData(){
		if(isset($_GLOBALS['HTTP_RAW_POST_DATA'])){
			//simplexml_load_string - 将XML字符串解释为对象
			return simplexml_load_string($_GLOBALS['HTTP_RAW_POST_DATA'],'SimpleXMLElement',LIBXML_NOCDATA);  // 将 CDATA 设置为文本节点
		}
	}
	//获取粉丝发来的消息内容
	public function getMessage(){
		return $this->message;
	}
}
 
 




Entry.php

<?php
//业务代码,为了测试微信sdk的功能
 
namespace app;
use wechat\Wx;
class Entry{
	protected $wx;
	public function __construct(){
		$config=[
			'token'=>'developer'
		];
		$this->wx=new Wx($config);
		$this->wx->valid();
	}
	public function handler(){
		//echo 'handler';
		//(new Wx())->show();
		$content=$this->wx->getMessage();
		file_put_contents('q.php',var_export($content,true));
	}
}
 


SimpleXMLElement::__set_state(array(
	'ToUserName'=>'gh_17962820bb47',
	'FromUserName'=>'odnoLwrZfu6WwdGhzoHYMhz-L8rc',
	'CreateTime'=>'1478718634',
	'MsgType'=>'text',
	'Content'=>'gghhh',
	'MsgId'=>'6351048173485048275'
))

猜你喜欢

转载自blog.csdn.net/taotaobaobei/article/details/81428756