当前位置:首页 > PHP

php实现站点统计

2026-02-15 19:47:18PHP

PHP实现站点统计的方法

使用数据库记录访问数据

创建一个MySQL表存储访问数据,包含字段如IP地址、访问时间、用户代理等。每次访问时插入新记录。

// 连接数据库
$conn = new mysqli('localhost', 'username', 'password', 'database');

// 获取访问者信息
$ip = $_SERVER['REMOTE_ADDR'];
$time = date('Y-m-d H:i:s');
$agent = $_SERVER['HTTP_USER_AGENT'];
$page = $_SERVER['REQUEST_URI'];

// 插入记录
$sql = "INSERT INTO site_stats (ip, visit_time, user_agent, page) 
        VALUES ('$ip', '$time', '$agent', '$page')";
$conn->query($sql);

使用文本文件记录

对于小型网站,可以使用文本文件记录访问数据。

php实现站点统计

$logFile = 'stats.log';
$data = date('Y-m-d H:i:s') . "|" . $_SERVER['REMOTE_ADDR'] . "|" . $_SERVER['REQUEST_URI'] . "\n";
file_put_contents($logFile, $data, FILE_APPEND);

统计页面浏览量

在页面中添加简单的计数器,可以基于数据库或文件。

// 文件计数器
$countFile = 'counter.txt';
$count = file_exists($countFile) ? file_get_contents($countFile) : 0;
$count++;
file_put_contents($countFile, $count);
echo "总访问量: " . $count;

统计独立访客

通过记录IP地址来统计独立访客数量。

php实现站点统计

$visitorFile = 'visitors.txt';
$ip = $_SERVER['REMOTE_ADDR'];
$visitors = file_exists($visitorFile) ? file($visitorFile, FILE_IGNORE_NEW_LINES) : [];

if(!in_array($ip, $visitors)) {
    $visitors[] = $ip;
    file_put_contents($visitorFile, $ip.PHP_EOL, FILE_APPEND);
}

echo "独立访客: " . count($visitors);

生成统计报表

从数据库或日志文件生成统计报表。

// 从数据库获取统计数据
$sql = "SELECT COUNT(*) as total_visits, 
               COUNT(DISTINCT ip) as unique_visits,
               MAX(visit_time) as last_visit
        FROM site_stats";
$result = $conn->query($sql);
$stats = $result->fetch_assoc();

echo "总访问: " . $stats['total_visits'] . "<br>";
echo "独立访客: " . $stats['unique_visits'] . "<br>";
echo "最后访问: " . $stats['last_visit'] . "<br>";

使用现成的统计工具

集成Google Analytics或其他第三方统计服务。

// 在页面头部添加Google Analytics代码
echo '<script async src="https://www.googletagmanager.com/gtag/js?id=GA_MEASUREMENT_ID"></script>';
echo '<script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag(\'js\', new Date());gtag(\'config\', \'GA_MEASUREMENT_ID\');</script>';

注意事项

确保统计系统不会显著影响网站性能,对于高流量站点考虑使用缓存或队列系统。定期清理旧数据以保持数据库高效运行。保护统计数据的隐私和安全,避免存储敏感信息。

标签: 站点php
分享给朋友:

相关文章

php实现分页

php实现分页

PHP实现分页的基本方法 使用原生PHP实现分页功能需要结合数据库查询和HTML展示。以下是核心实现步骤: 数据库查询与分页逻辑 // 连接数据库 $conn = new mysqli('loca…

php实现图片上传

php实现图片上传

实现图片上传的基本步骤 创建HTML表单用于文件上传,表单需设置enctype="multipart/form-data"属性,确保文件数据正确传输。 <form action="upload…

php实现socket

php实现socket

PHP 实现 Socket 通信 PHP 可以通过 socket 扩展实现网络通信,支持 TCP/UDP 协议。以下是实现 Socket 通信的核心步骤和代码示例。 创建 TCP 服务器 //…

php实现增删改查

php实现增删改查

以下是在PHP中实现增删改查(CRUD)操作的详细方法,以MySQL数据库为例: 数据库连接配置 创建config.php文件存储数据库连接信息: <?php $host = 'loca…

php实现跳转

php实现跳转

PHP 实现页面跳转的方法 在 PHP 中实现页面跳转有多种方式,以下是常见的几种方法及其适用场景: 使用 header() 函数 通过 header() 函数发送 HTTP 头部信息实现跳转。注意…

php实现即时通讯

php实现即时通讯

PHP 实现即时通讯的方案 即时通讯(IM)可以通过多种方式实现,PHP 作为服务器端语言,通常需要结合前端技术(如 WebSocket、AJAX)或第三方服务来实现实时通信。以下是几种常见的实现方式…