当前位置:首页 > 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实现购物车功能的几种方法。 使用Session存储购物车数据 Session是…

php实现登录

php实现登录

PHP 登录功能实现 数据库连接与用户表创建 创建一个数据库连接文件 db.php,用于管理数据库连接。MySQL 示例代码如下: <?php $host = 'localhost'; $db…

php购物车实现

php购物车实现

PHP购物车实现方法 使用PHP实现购物车功能可以通过多种方式完成,以下是几种常见的实现方法: Session存储购物车数据 利用PHP的$_SESSION超全局变量存储购物车数据是最简单的方法。用…

php实现排序

php实现排序

PHP 数组排序方法 PHP 提供了多种内置函数用于数组排序,适用于不同的排序需求。以下是常见的排序方法: 按值升序排序 sort() 函数对数组按值升序排序,重置键名(索引数组适用): $num…

php无限分类的实现

php无限分类的实现

PHP无限分类的实现 无限分类是一种常见的树形结构数据组织方式,适用于商品分类、菜单管理、地区选择等场景。以下是几种实现方法: 递归实现法 递归是最直观的实现方式,通过函数自身调用来遍历子分类。数据…

php 实现秒杀

php 实现秒杀

PHP 实现秒杀的关键技术 秒杀系统需要解决高并发、超卖、性能瓶颈等问题。以下是实现秒杀的核心方案: 使用 Redis 预减库存 将商品库存提前加载到 Redis 中,通过原子操作保证库存准确性:…