You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP使用file_put_contents记录访客IP时如何限制日志行数最多为200行

修改后可实现最多200行日志限制的代码

$today = date("F j, Y, g:i:s a");
$ip = $_SERVER['REMOTE_ADDR'];
// 生成新的访问记录行
$new_log = "$ip\twas here\t$today\n";
// 读取原有日志,文件不存在时默认返回空内容
$old_log = file_exists('ip.txt') ? file_get_contents('ip.txt') : '';
// 新记录拼在最前面,和原有日志合并
$full_log = $new_log . $old_log;
// 按换行符拆分日志为行数组,过滤掉无效空行
$log_lines = array_filter(explode("\n", $full_log));
// 只保留最新的前200条记录
$log_lines = array_slice($log_lines, 0, 200);
// 拼接回字符串写入文件
file_put_contents('ip.txt', implode("\n", $log_lines));

实现说明

  • 完全保留了你原有代码的记录逻辑,最新访问记录仍然排在最顶部,方便查阅
  • 新增了文件存在判断,避免首次运行没有ip.txt文件时抛出PHP警告
  • 拆分日志为行数组后截取前200条,超出的历史旧记录会被自动丢弃,始终保持文件最多200行记录
  • 增加了空行过滤逻辑,避免换行符拆分时产生的无效空行占用计数名额

内容的提问来源于stack exchange,提问作者David

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 07:06:04