开发微信公众平台接口参数调试-判断用户行为
发布:smiling 来源: PHP粉丝网 添加日期:2014-09-22 13:28:36 浏览: 评论:0
微信开发的时候,发现有个重要的变量$postObj,获得了一个xml结构装入的对象里因为用户发来的事件,之前只知道用户发送一个消息,我进行处理.
今天要弄个用户订阅就给推送一个消息的功能,却发现不知道如何判断用户是订阅的操作,还是取消订阅,还是发消息,代码如下:
- public function responseMsg()
- {
- global $db;
- //get post data, May be due to the different environments
- $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
- $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
- writeover("msg.txt",$postStr."rn","a+");
- 。。。。。
- }
发现$postStr是之前没有封装的字符串,直接打印,即可知道用户的行为了,测试输出的文件如下:
- <xml><ToUserName><![CDATA[gh_a64528aca3b]]></ToUserName>
- <FromUserName><![CDATA[oSgH_jveTxJSlFK_6QSiGeVaSyk]]></FromUserName>
- <CreateTime>1394705044</CreateTime>
- <MsgType><![CDATA[text]]></MsgType>
- <Content><![CDATA[ha]]></Content>
- <MsgId>5990212551746www.phpfensi.com353512</MsgId>
- </xml>
MsgType即可判断用户行为text表示用户输入了一条文本信息,如果是订阅,那么就是event 大家自己测试吧.
一个新用户关注公众账号发送的消息的例子,代码如下:
- <xml><ToUserName><![CDATA[gh_a5218aca3b]]></ToUserName>
- <FromUserName><![CDATA[oSgH_jveTxJSlFK_6QSiGeVyk]]></FromUserName>
- <CreateTime>1394706271</CreateTime>
- <MsgType><![CDATA[event]]></MsgType>
- <Event><![CDATA[subscribe]]></Event>
- <EventKey><![CDATA[]]></EventKey>
- </xml>
这样就可以得到具体的事件类型了.
$msgtype = $postObj->MsgType;能判断用户的行为,后续的操作就方便多了.
附上写入日志文件的代码:
‘r’ 只读方式打开,将文件指针指向文件头。
‘r+’ 读写方式打开,将文件指针指向文件头。
‘w’ 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
‘w+’ 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
‘a’ 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
‘a+’ 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
PHP实例代码如下:
- function writeover2($filename,$data,$method="rb+",$iflock=1)
- {
- @touch($filename);/*文件不存在则创建之.可以采用file_exists验证并其他创建文件函数代替.测试结果效率相当*/
- $handle=@fopen($filename,$method);
- if($iflock){
- flock($handle,LOCK_EX);
- }
- fwrite($handle,$data);
- if($method=="rb+") ftruncate($handle,strlen($data));
- fclose($handle);
- }
Tags: php微信公众平台 php平台接口
相关文章
- ·微信公众平台模拟登录之验证码获取(2014-08-27)
- ·微信公众平台智能机器人PHP开发示例(2014-08-27)
- ·微信公众平台的开发接口简单例子(2014-09-21)
- ·微信公众平台开发关注/取消关注事件例子(2014-09-22)
- ·基于微信公众平台开发SDK(demo)扩展例子(2014-09-22)
- ·删除粉丝表中抓取错误的数据-微信公众平台开发(2014-09-22)
- ·微信公众平台网页获取用户OpenID方法(2015-04-08)
- ·PHP实现微信公众平台音乐点播(2020-10-29)
- ·php实现基于微信公众平台开发SDK(demo)扩展的方法(2021-05-04)
- ·php微信公众平台开发类实例(2021-05-19)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)