且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

使用Google Analytics在网站上显示实时用户数

更新时间:2023-12-02 15:48:58

在Trott解释之前,分析中没有这样的功能。不过,我给你一个非常非常古老的选择。我在2004年写了这个,所以它过时了,但基本上是有效的。此外,它可以在不使用任何数据库的情况下运行。有时您需要这样的复古解决方案:) b

现场演示: kopli.pri.ee/***/6976362.php



 <?php 
$ current_users_file ='users.txt';
if(!file_exists($ current_users_file))fclose(fopen($ current_users_file,w));
$ users = file($ current_users_file);
$ found = false;
$ user_count = count($ users);
$ fp = fopen($ current_users_file,w);
foreach($ users为$ user){
$ user = explode(|,$ user);
if($ user [1] +300< time()){
$ user_count--;
继续;
} elseif($ user [0] == $ REMOTE_ADDR){
$ user [1] = time();
$ found = true;
}
$ user = trim(implode(|,$ user))。\\\
;
fputs($ fp,$ user);

if(!$ found){
fputs($ fp,$ REMOTE_ADDR。|.time()。\\\
);
$ user_count ++;
}
fclose($ fp);
echo'活动用户< b>'。 $ user_count。 &LT; / B个;
?>


How can I show the number of visitors online at any page load via Google analytics?

E.g., when a visitor loads the page somewhere it will say "58 Visitors Online".

As Trott explained before, there is no such function in analytics. However, I give you a very very old alternative. I wrote this in 2004, so its outdated, but basically works. Also, it works without using any databases.. sometimes you need retro-solutions like this :)

Live demo: kopli.pri.ee/***/6976362.php

(You need to set 777 chmod for your current folder, so users.dat could be created automatically)

<?php
$current_users_file = 'users.txt';
if (!file_exists($current_users_file)) fclose(fopen($current_users_file, "w"));
$users = file($current_users_file);
$found = false;
$user_count = count($users);
$fp = fopen($current_users_file, "w");
foreach($users as $user) {
    $user = explode("|", $user);
    if ($user[1]+300 < time()) {
        $user_count--;
        continue;
    } elseif ($user[0] == $REMOTE_ADDR) {
        $user[1] = time();
        $found = true;
    }
    $user = trim(implode("|", $user))."\n";
    fputs($fp, $user);
}
if (!$found) {
    fputs($fp, $REMOTE_ADDR."|".time()."\n");
    $user_count++;
}
fclose($fp);
echo 'Active users <b>' . $user_count . '</b>';
?>