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

标签 php mysql counter

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

找不到关于此的任何信息...甚至可以这样做吗?

感谢您的帮助。

最佳答案

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

我希望有一种简单的方法可以连接到谷歌分析数据,然后使用 imagemagic 或类似工具生成计数器图形。 他们确实为此提供了一些第 3 方应用程序 - 但在我看来,它们对于一个简单的计数器来说意义重大 - 或者只是非常丑陋。

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 等来显示它。)

关于php - 使用基于图像的点击计数器获取访客信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7470823/

相关文章:

python - 如何按值对计数器进行排序? - Python

java - 删除数组中的重复项,Java

php - Javascript 确认 & while 循环回显

php - CodeIgniter URI 路由和空段

mysql - 如何在mysql中创建一元多对多关系

PHP检查数据库以查看 "datetime"记录是否大于0000 :00:00 0000-00-00 then

php - 已通过 SQL 注入(inject)攻击的登录代码示例,尽管 mysql_real_escape_string...

php - MAMP 中缺少 mysql 扩展

php - 重新分配mysql用户ID

c++ - 为什么我的函数代码中存在一个模棱两可的地方,即以十进制n的二进制表示形式计算1的数量