php版微信公众平台接口参数调试实现判断用户行为的方法


Posted in PHP onSeptember 23, 2016

本文实例讲述了php版微信公众平台接口参数调试实现判断用户行为的方法。分享给大家供大家参考,具体如下:

微信开发的时候,发现有个重要的变量$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);
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
ajax php 实现写入数据库
Sep 02 PHP
PHP 伪静态隐藏传递参数名的四种方法
Feb 22 PHP
php单例模式实现(对象只被创建一次)
Dec 05 PHP
CodeIgniter框架数据库事务处理的设计缺陷和解决方案
Jul 25 PHP
php中mt_rand()随机数函数用法
Nov 24 PHP
浅谈thinkphp的实例化模型
Jan 04 PHP
PHP curl CURLOPT_RETURNTRANSFER参数的作用使用实例
Feb 07 PHP
php实现通用的从数据库表读取数据到数组的函数实例
Mar 21 PHP
Yii获取当前url和域名的方法
Jun 08 PHP
php使用parse_str实现查询字符串解析到变量中的方法
Feb 17 PHP
PHP面向对象程序设计内置标准类,普通数据类型转为对象类型示例
Jun 12 PHP
php文件上传原理与实现方法详解
Dec 20 PHP
php使用CURL模拟GET与POST向微信接口提交及获取数据的方法
Sep 23 #PHP
php版微信公众平台之微信网页登陆授权示例
Sep 23 #PHP
中高级PHP程序员应该掌握哪些技术?
Sep 23 #PHP
php利用递归实现删除文件目录的方法
Sep 23 #PHP
php版微信公众平台开发之验证步骤实例详解
Sep 23 #PHP
php分页原理 分页代码 分页类制作教程
Sep 23 #PHP
php使用glob函数遍历文件和目录详解
Sep 23 #PHP
You might like
php smarty模版引擎中的缓存应用
2009/12/11 PHP
PHP常用字符串函数小结(推荐)
2018/08/05 PHP
PHP chop()函数讲解
2019/02/11 PHP
JavaScript经典效果集锦
2010/07/06 Javascript
Jquery中Ajax 缓存带来的影响的解决方法
2011/05/19 Javascript
基于jquery创建的一个图片、视频缓冲的效果样式插件
2012/08/28 Javascript
JS getAttribute和setAttribute(取得和设置属性)的使用介绍
2013/07/10 Javascript
javascript解析json数据的3种方式
2014/05/08 Javascript
JavaScript中的toLocaleDateString()方法使用简介
2015/06/12 Javascript
jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解
2015/09/27 Javascript
jquery validate表单验证插件
2016/09/06 Javascript
关于RequireJS的简单介绍即使用方法
2016/10/20 Javascript
基于AngularJS实现表单验证功能
2017/07/28 Javascript
深入浅析Vue全局组件与局部组件的区别
2018/06/15 Javascript
vue监听input标签的value值方法
2018/08/27 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
2019/01/27 Javascript
javascript实现手动点赞效果
2019/04/09 Javascript
微信小程序模板消息限制实现无限制主动推送的示例代码
2019/08/27 Javascript
浅谈vue限制文本框输入数字的正确姿势
2019/09/02 Javascript
layui实现数据表格隐藏列的示例
2019/10/25 Javascript
vue+vant-UI框架实现购物车的复选框全选和反选功能
2019/11/05 Javascript
vue.js 实现a标签href里添加参数
2019/11/12 Javascript
Python中修改字符串的四种方法
2018/11/02 Python
解决安装pycharm后不能执行python脚本的问题
2019/01/19 Python
Python匿名函数/排序函数/过滤函数/映射函数/递归/二分法
2019/06/05 Python
Pandas中Series和DataFrame的索引实现
2019/06/27 Python
Cython编译python为so 代码加密示例
2019/12/23 Python
opencv之为图像添加边界的方法示例
2019/12/26 Python
Python模块 _winreg操作注册表
2020/02/05 Python
anaconda3安装及jupyter环境配置全教程
2020/08/24 Python
python 生成器需注意的小问题
2020/09/29 Python
naturalizer加拿大官网:美国娜然女鞋
2017/04/04 全球购物
简述数据库的设计过程
2015/06/22 面试题
暑期社会实践先进个人主要事迹
2014/05/22 职场文书
知识就是力量演讲稿
2014/09/13 职场文书
离婚协议书范文2016
2016/03/18 职场文书