使用基于图像的计数器获取访客信息

时间:2011-09-19 12:20:27

标签: php mysql counter

使用php创建点击计数器的最佳方法是什么,可以使用简单的图像嵌入到任何外部网站/论坛。例如<img src="http://site.com/counter.gif"></img>并将访问者信息(如IP地址和http引用者)保存到MySQL数据库中?

找不到关于此的任何信息......是否可以这样做?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

您可以查看AWSTATS http://awstats.sourceforge.net/

我希望有一种简单的方法可以连接到谷歌分析数据,然后用imagemagic或类似的方式生成计数器图形。 他们确实有一些第三方应用程序 - 但在我看来,他们在一个简单的计数器的位置 - 或者只是简单的丑陋。

AWStats将解析日志文件,这也可以显示过去的统计信息。

您还可以创建一个非常小的代码来将IP地址保存到访问者表中,然后在计算唯一身份访问者时检查该表。并且可以使用cronjob每天更新一次反映像(可能不需要每次访问更新)。

获取IP:

function checkIP()
{
    if ( getenv( 'HTTP_CLIENT_IP' ) )
    {
        $ip = getenv( 'HTTP_CLIENT_IP' );
    }
    elseif( getenv( 'HTTP_X_FORWARDED_FOR' ) )
    {
        $ip = getenv( 'HTTP_X_FORWARDED_FOR' );
    }
    elseif( getenv( 'HTTP_X_FORWARDED' ) )
    {
        $ip = getenv( 'HTTP_X_FORWARDED' );
    }
    elseif( getenv( 'HTTP_FORWARDED_FOR' ) )
    {
        $ip = getenv( 'HTTP_FORWARDED_FOR' );
    }
    elseif( getenv( 'HTTP_FORWARDED' ) )
    {
        $ip = getenv( 'HTTP_FORWARDED' );
    }
    else
    {
        $ip = $_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}

有关其他访客信息,请查看$ _SERVER选项和其他信息。
http://www.php.net/manual/en/reserved.variables.server.php
HTTP_USER_AGENT HTTP_ACCEPT_LANGUAGE HTTP_REFERER REQUEST_URI

此外,如果有大量网站嵌入计数器,你可以抓住计数本身。 (并且使用它的每个站点都可以用一些css等显示它。)。