首页 php教程 php手册 开发微信公众平台接口参数调试-判断用户行为

开发微信公众平台接口参数调试-判断用户行为

Jun 02, 2016 am 09:13 AM

微信开发的时候,发现有个重要的变量$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.phprm.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);  
}
登录后复制


本文链接:

收藏随意^^请保留教程地址.

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
2 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)