我正在尝试将日期附加到自定义日志文件以跟踪特定链接上的点击,但TXT文件中的所有内容都会被覆盖:
$('#cal').click(function() {
$.ajax
({
url: 'caltrack.php',
data: {caltrack: 'true'},
type: 'post',
success: function()
{
console.log('success');
}
});
});
PHP:
<?php
error_reporting(E_ALL);
$ip = preg_replace('#[^0-9.]#', '', getenv('REMOTE_ADDR'));
$date = date('Y-m-d h:i:s a', time());
$data = $date.' - '.$ip.'';
$f = fopen('caltrack.txt', 'w+');
fwrite($f, $data);
fclose($f);
?>
我如何每次都附加一行新文字?
答案 0 :(得分:2)
请勿使用w+
打开您的文件,因为它会截断整个文件,而是使用模式a
,如&#34;附加&#34;。
请参阅fopen
答案 1 :(得分:1)
将您的PHP代码更改为以下内容:
<?php
error_reporting(E_ALL);
$ip = preg_replace('#[^0-9.]#', '', getenv('REMOTE_ADDR'));
$date = date('Y-m-d h:i:s a', time());
$data = $date.' - '.$ip.'';
$f = fopen('caltrack.txt', 'a');
fwrite($f, $data);
fclose($f);
?>
那你做错了什么?实际上,您正在以w +模式打开文件,该文件打开文件进行读/写并擦除文件内容或创建新文件(如果该文件不存在)。文件指针从文件的开头开始。因此一切都被覆盖了。 如果您以a或+模式打开文件,则可以将数据附加到文件中。
有关php文件的更多详细信息,请访问here。