简单的网站IP和用户访问统计php文件实例。
2025-02-28
首先,在根目录创建一个tongji.php文件!写入代码:
<?php // 获取用户的 IP 地址 $user_ip = $_SERVER['REMOTE_ADDR']; // 获取当前访问的链接 $current_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; // 获取当前访问时间 $visit_time = date('Y-m-d H:i:s'); $visit_date = date('Y-m-d', strtotime($visit_time)); // 记录访问信息到日志文件 $log_file = 'tongji.txt'; $log_entry = "{$visit_date} - {$visit_time} - {$user_ip} - {$current_url}\n"; file_put_contents($log_file, $log_entry, FILE_APPEND); ?>
然后在根目录创建一个tongji.txt的空白文件
=======
然后继续创建一个读取文件 tongjiip.php,写入代码:
<?php // 统计用户访问次数和链接 function count_user_visits() { $log_file = 'tongji.txt'; if (!file_exists($log_file)) { return []; } $lines = file($log_file, FILE_IGNORE_NEW_LINES); $daily_user_counts = []; $daily_user_url_counts = []; $daily_unique_ips = []; foreach ($lines as $line) { $parts = explode(' - ', $line); if (count($parts) >= 4) { $visit_date = $parts[0]; $user_ip = $parts[2]; $url = $parts[3]; // 统计每日用户总访问次数 if (!isset($daily_user_counts[$visit_date])) { $daily_user_counts[$visit_date] = []; } if (!isset($daily_user_counts[$visit_date][$user_ip])) { $daily_user_counts[$visit_date][$user_ip] = 0; } $daily_user_counts[$visit_date][$user_ip]++; // 统计每日用户访问每个链接的次数 if (!isset($daily_user_url_counts[$visit_date])) { $daily_user_url_counts[$visit_date] = []; } if (!isset($daily_user_url_counts[$visit_date][$user_ip])) { $daily_user_url_counts[$visit_date][$user_ip] = []; } if (!isset($daily_user_url_counts[$visit_date][$user_ip][$url])) { $daily_user_url_counts[$visit_date][$user_ip][$url] = 0; } $daily_user_url_counts[$visit_date][$user_ip][$url]++; // 统计每日不同 IP 的数量 if (!isset($daily_unique_ips[$visit_date])) { $daily_unique_ips[$visit_date] = []; } if (!in_array($user_ip, $daily_unique_ips[$visit_date])) { $daily_unique_ips[$visit_date][] = $user_ip; } } } return [ 'daily_user_counts' => $daily_user_counts, 'daily_user_url_counts' => $daily_user_url_counts, 'daily_unique_ip_counts' => array_map('count', $daily_unique_ips) ]; } // 调用统计函数 $stats = count_user_visits(); // 输出统计结果 echo "<h2>每日用户总访问次数统计</h2>"; foreach ($stats['daily_user_counts'] as $date => $user_counts) { echo "<h3>日期: {$date}</h3>"; foreach ($user_counts as $user_ip => $count) { echo "<p>IP: {$user_ip}, 访问次数: {$count}</p>"; } } echo "<h2>每日用户访问链接详细统计</h2>"; foreach ($stats['daily_user_url_counts'] as $date => $user_url_counts) { echo "<h3>日期: {$date}</h3>"; foreach ($user_url_counts as $user_ip => $urls) { echo "<p>IP: {$user_ip}</p>"; foreach ($urls as $url => $count) { echo "<p> 链接: {$url}, 访问次数: {$count}</p>"; } } } echo "<h2>每日不同 IP 总数统计</h2>"; foreach ($stats['daily_unique_ip_counts'] as $date => $count) { echo "<p>日期: {$date}, 不同 IP 的总数: {$count}</p>"; } ?>
然后在全局底部,也就是放统计代码的位置
<?php include('tongji.php'); ?>
============================
域名/tongjiip.php 就可以查看ip统计和用户访问地址了。