利用PHP怎么对用户的在线状态进行检测

  介绍

本篇文章为大家展示了利用PHP怎么对用户的在线状态进行检测,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

1。先新建一个标签。php文件,放在配置目录Conf下。

& lt; php ?   ,/*   ,*添加行为   ,*   ,*/,return 阵列(   & # 39;才能action_begin& # 39;,=祝辞,数组(& # 39;OnlineCheck& # 39;),   ,);   ,?在

2。定义具体的功能

& lt; php ?   ,/*   ,*定义行为:,在线更新   ,*/,class  OnlineCheckBehavior  extends  Behavior  {//行才能为参数   protected 才能;options 美元;=,阵列(   ,,,& # 39;ONLINE_CHECK& # 39;,=祝辞,真的,,//,默认进行在线   ,,,& # 39;ONLINE_CHECK_TIME& # 39;,=祝辞,10日,//,默认5分钟未活动,说明已下线   ,,);   public 才能;function 运行(和params美元),{   ,,,if  (C (& # 39; ONLINE_CHECK& # 39;)), {   ,,,,,//,更新会话   ,,,,,if ((会话(& # 39;? login_account& # 39;)),,,,(时间(),安康;会话(& # 39;access_time& # 39;),祝辞,60)),{   ,,,,,,,会话(& # 39;access_time& # 39;,,时间());   ,,,,,}   ,,,,,//,在线更新   ,,,,,ip 美元;=,ip2long (get_client_ip ());   ,,,,,online 美元;=,M(& # 39;在线# 39;);   ,,,,,//,先删除在线表中,超过5分钟未活动的记录   ,,,,,//sql 美元;=,& # 39;,delete 得到__TABLE__  where  & # 39;;   ,,,,,美元地图(& # 39;lasttime& # 39;],=,数组(& # 39;lt # 39;,,时间(),安康;C (& # 39; ONLINE_CHECK_TIME& # 39;), *, 60);   ,,,,,icount 美元;=,在线→美元,美元(地图)→删除();   ,,,,,if (会话(& # 39;? login_account& # 39;)),{,//如果是登录用户   ,,,,,,,map 美元;=,数组();   ,,,,,,,美元地图(& # 39;uid # 39;],=,会话(& # 39;login_uid& # 39;);   ,,,,,,,美元地图(& # 39;lastip& # 39;],=, $ ip;   ,,,,,,,id 美元;=,在线→美元,美元(地图)→getField (& # 39; id # 39;);   ,,,,,,,if (空(id)美元),{,//不存在在线记录,则清空会话   ,,,,,,,,,会话(空);   ,,,,,,,},{else    ,,,,,,,,,map 美元;=,数组();   ,,,,,,,,,美元地图(& # 39;id # 39;],=,数组(& # 39;情商# 39;,,$ id);   ,,,,,,,,,$ data [& # 39; lasttime& # 39;],=, ();   ,,,,,,,,,$ data [& # 39; lastip& # 39;],=, $ ip;   ,,,,,,,,,网上→美元,美元(地图)→保存(元数据);   ,,,,,,,}   ,,,,,},else {//大敌;不是登录用户,游客   ,,,,,,,设置($地图);   ,,,,,,,美元地图(& # 39;lastip& # 39;],=,数组(& # 39;情商# 39;,,美元ip);   ,,,,,,,id 美元;=,在线→美元,美元(地图)→getField (& # 39; id # 39;);   ,,,,,,,//转储($ id);   ,,,,,,,if (空(id)美元),{,//不存在在线记录,,则添加   ,,,,,,,,,data 美元;=,数组();   ,,,,,,,,,$ data [& # 39; uid # 39;],=, 0;   ,,,,,,,,,$ data[& # 39;账户# 39;],=,& # 39;客人# 39;;   ,,,,,,,,,$ data[& # 39;昵称# 39;],=,& # 39;游客& # 39;;   ,,,,,,,,,$ data [& # 39; lasttime& # 39;],=, ();   ,,,,,,,,,$ data [& # 39; lastip& # 39;],=, $ ip;   ,,,,,,,,,美元在线→添加(元数据);   ,,,,,,,},{else    ,,,,,,,,,map 美元;=,数组();   ,,,,,,,,,美元地图(& # 39;id # 39;],=,数组(& # 39;情商# 39;,,$ id);   ,,,,,,,,,$ data [& # 39; lasttime& # 39;],=, ();   ,,,,,,,,,$ data [& # 39; lastip& # 39;],=, $ ip;   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

利用PHP怎么对用户的在线状态进行检测