使用会话文件获取在线用户

时间:2012-03-08 14:18:42

标签: php session

我试图通过计算创建的会话文件总数来找出我网站的在线用户数,以减少数据库访问。请问我该怎么办? 是否可以访问存储在这些文件中的数据(例如用户ID),以便找到Who's Online。

2 个答案:

答案 0 :(得分:1)

计算服务器上的会话文件数:

$dh = opendir(session_save_path());
$users = 0;
while (($file = readdir($dh)) !== false) {
    if (($file != '.') && ($file != '..')) {
        $users++;
    }
}
closedir($dh);
$online = $users;

答案 1 :(得分:0)

您是否想要您网站上的用户总数,或者您是否想要拥有ID ID的用户的总数?

您的会话文件数不等于当前用户的数量。当用户离开您的网站时,会话不会结束。

数据库解决方案应该更好;还要考虑Google Analytics解决方案。 Google Analytics会跟踪您网站上用户的导航。