多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] # 简介 `https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140453` 当普通微信用户向公众账号发消息时,微信服务器将POST消息的XML数据包到开发者填写的URL上。 6大接收接口 文本(text)、图片(image)、语音(voice)、视频(video)、地理位置(location)、链接(link) # 消息保存到本地 ~~~ // 构造方法 public function __construct() { // 判断是否是第1次接入 echostr if ( !empty($_GET['echostr'])) { echo $this->checkSign(); } else { // 接受处理数据 $this->acceptMsg(); } } ~~~ ~~~ /** * 接收公众号发过来的数据 * @return [type] [description] */ private function acceptMsg(){ // 获取原生请求数据 $xml = file_get_contents('php://input'); $this->writeLog($xml); } /** * 把微信传给你的,写入日志 * @param string $xml 写入的xml * @param int|integer $flag 标识 1:请求 2:发送 * @return [type] [description] */ private function writeLog(string $xml,int $flag=1){ $flagstr = $flag == 1 ? '接受' : '发送'; $prevstr = '【'.$flagstr.'】'.date('Y-m-d')."-----------------------------\n"; $log = $prevstr.$xml."\n---------------------------------------------\n"; // 写日志 追加的形式去写入 file_put_contents('wx.xml',$log,FILE_APPEND); return true; } ~~~ 这样消息的xml就保存到wx.xml 里面日志字段的意思 ![](https://box.kancloud.cn/408ac87ea669a297543aa0dace9af80c_1236x522.png) ~~~ <xml><ToUserName><![CDATA[gh_30c57421b15c]]></ToUserName> 公众号的id <FromUserName><![CDATA[oZK8m5uhp1Wzi3w8RjgDCINBTRrY]]></FromUserName> openid公众号中对应用户唯一标识(重要) <CreateTime>1562414627</CreateTime> 创建时的时间戳 <MsgType><![CDATA[text]]></MsgType> 类型 <Content><![CDATA[你们]]></Content> 内容 <MsgId>22368397313442987</MsgId> 消息id </xml> ~~~ 其他接收类型的看微信文档