思绪:
一:起首取得用户末了一次保留的session_id(引荐进修:PHP编程从入门到通晓)
//这里能够保留到数据库中猎取 //假定 $memberSessionId = getMemberSessionId();
二:用第一步取得的session_id 去查找当前session是不是存在
//只需开启了session_start() ; 那末每一个用户只需翻开你的网站都将分派一个session_id /* 这段代码能够猎取到你服务器上的一切session $handle = opendir(session_save_path()); while (false !== ($file = readdir($handle))) { if(!in_array($file, array('.', '..', 'session_dir'))) echo "$file<br />"; } closedir($handle); */ //这一步要猎取到你在服务器上和用户婚配的session // 假定 $serverSession == $memberSessionId // 假如存在,则在线,不然反之
三:假如用户一般退出,删除当前session
// 将全局SESSION变量数组设置空. $_SESSION = array(); // 假如SESSION数据存储在COOKIE中则删除COOKIE. // Note: 将注销全部SESSION对象, 而不仅仅是SESSION数据! if (isset($_COOKIE[session_name()])) { setcookie(session_name(), '', time()-42000, '/'); } // 末了,注销SEESION. session_destroy();
四, 假如用户直接封闭浏览器,则等服务器session接纳
以上就是php怎样推断用户是不是在线的细致内容,更多请关注ki4网别的相干文章!