【问题标题】:PHP Code Re-writes The Same Line Instead Of Writing To A New LinePHP 代码重写同一行而不是写入新行
【发布时间】:2014-07-21 10:17:16
【问题描述】:

所以我正在处理一个错误页面,我需要它来记录访问该页面的人员、访问时间、访问的页面以及来自哪个 IP。我已经成功地做到了,所有内容都以正确的格式记录到根目录中的文本文件中。唯一的问题是它会不断写入上次打开页面时写入的内容,而不是写入下一行。

这是页面: http://www.synergytechhosting.com/error%20index.html

如果有人想知道,这只是一个测试页面,实际上,这个特定页面被复制到多个目录中,我不希望人们看到其中的内容。

这是我的代码。

<?php
$info = getdate();
$date = $info['mday'];
$month = $info['mon'];
$year = $info['year'];
$hour = $info['hours'];
$min = $info['minutes'];
$sec = $info['seconds'];
$ip = $_SERVER['REMOTE_ADDR'];
$path = $_SERVER['REQUEST_URI'];
$txt_info = "Date (DD/MM/YYYY): $date/$month/$year  Time (HH/MM/SS): $hour:$min:$sec  IP: $ip  URL: $path";


$content = "$txt_info";
$fp = fopen($_SERVER['DOCUMENT_ROOT'] . "/Access_Logs.txt","wb");
fwrite($fp,$content . "\n");
fclose($fp);
?>

如果有人可以让我知道发生了什么,请让我听听你的情况。非常感谢所有帮助。提前致谢。

最好的问候, 伊曼纽尔

【问题讨论】:

  • 您是否尝试将“\n”添加到字符串的末尾而不是 fwrite 方法,所以只需将 \n 附加到您要删除 $content 变量的位置
  • 建议您以“a”模式打开文件,以便所有写入都附加到文件末尾。然后 fflush 文件,以便在任何人尝试写入更多数据之前,所有数据都在文件中。

标签: php file logging line next


【解决方案1】:

试试

fopen($_SERVER['DOCUMENT_ROOT'] . "/Access_Logs.txt","a");

注意末尾的“a”。这将附加到文件而不是重写它。

http://www.php.net/manual/en/function.fopen.php

【讨论】:

  • 是的!谢谢丹。这正是我一直在寻找的!你让我很开心!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-25
  • 1970-01-01
相关资源
最近更新 更多