PHP 记录访客的浏览信息

可以记录访客的地理位置,操作系统,浏览器,IP,时间和访问的文件。

1.首先创建一个comm_function.php文件:

<?php
//echo $_SERVER['HTTP_USER_AGENT'];
//echo "<br />".$_SERVER ['REMOTE_ADDR'];

/**
 * 获取客户端类型,手机还是电脑,以及相应的操作系统类型。
 *
 * @param string $subject
 */
function get_os($agent) {
    $os = false;

    if (preg_match ( '/win/i', $agent ) && strpos ( $agent, '95' )) {
        $os = 'Windows 95';
    } else if (preg_match ( '/win 9x/i', $agent ) && strpos ( $agent, '4.90' )) {
        $os = 'Windows ME';
    } else if (preg_match ( '/win/i', $agent ) && preg_match ( '/98/i', $agent )) {
        $os = 'Windows 98';
    } else if (preg_match ( '/win/i', $agent ) && preg_match ( '/nt 6.0/i', $agent )) {
        $os = 'Windows Vista';
    } else if (preg_match ( '/win/i', $agent ) && preg_match ( '/nt 6.1/i', $agent )) {
        $os = 'Windows 7';
    } else if (preg_match ( '/win/i', $agent ) && preg_match ( '/nt 6.2/i', $agent )) {
        $os = 'Windows 8';
    } else if (preg_match ( '/win/i', $agent ) && preg_match ( '/nt 10.0/i', $agent )) {
        $os = 'Windows 10'; // 添加win10判断
    } else if (preg_match ( '/win/i', $agent ) && preg_match ( '/nt 5.1/i'
要统计 PV(页面浏览量)、UV(独立访客数)和浏览时长,可以使用 PHP 结合数据库或缓存技术实现。 以下是一个简单的示例: 1. 统计 PV 可以在页面加载时,每次访问都将数据写入数据库或缓存中。 ```php // 连接数据库或缓存 $redis = new Redis(); $redis->connect('127.0.0.1', 6379); // 记录页面访问量 $redis->incr('page_view'); // 获取页面访问量 $page_view = $redis->get('page_view'); echo "页面浏览量:$page_view"; ``` 2. 统计 UV 可以在写入 PV 的同时,记录访问者的 IP 地址和访问时间,然后统计不同 IP 地址的数量即可得到 UV。 ```php // 记录访问者的 IP 地址和访问时间 $ip = $_SERVER['REMOTE_ADDR']; $time = time(); $redis->set("page_view:$ip", $time); // 获取独立访客数 $unique_visitors = $redis->eval("return table.getn(redis.call('keys', 'page_view:*'))"); echo "独立访客数:$unique_visitors"; ``` 3. 统计浏览时长 可以使用和上面类似的方法,记录访问者的 IP 地址和访问时间,然后在访问结束时计算访问时长。 ```php // 记录访问者的 IP 地址和访问时间 $ip = $_SERVER['REMOTE_ADDR']; $time = time(); $redis->set("page_view:$ip", $time); // 其他页面内容 // 计算浏览时长 $start_time = $redis->get("page_view:$ip"); $duration = $time - $start_time; echo "您在本页面停留了 $duration 秒。"; ``` 需要注意的是,这种方法只能获取用户在该页面的停留时间,无法获取用户在其他页面的停留时间。如果需要统计整个网站的访问时长,可以使用网站统计工具或第三方分析工具。此外,为了避免重复计算访问时长,应该在访问结束时将记录从数据库或缓存中删除。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值