我有一个我正在使用PHP编写的脚本,它记录了访问该特定页面的访问者的IP地址。这只是一个原型。我编写的脚本正在运行,但是当它创建包含IP的TXT文件时,它只会执行一行。如何为每位访客添加一条线路,无论他们是重复访问者,我该怎么做呢?我不太确定该怎么做,我是PHP的新手。
这是我到目前为止所做的:
<?PHP
$ip = getenv("REMOTE_ADDR");
$date = date("d") . " " . date("F") . " " . date("Y");
$intofile = $ip . "n" . $date;
$hfile = fopen("ip-address.txt", "w");
fwrite($hfile, $intofile);
fclose($hfile);
?>
<!DOCTYPE html>
<html language="en-us">
<head>
<title>IP Address Logging Software</title>
<link rel="stylesheet" type="text/css" href="Source/Stylesheet/DefaultPage.css" />
<link rel="stylesheet" type="text/css" href="Source/Stylesheet/DefaultPage.css" />
<link rel="stylesheet" type="text/css" href="Source/Stylesheet/DefaultPage.css" />
<script type="text/javascript" src="Source/Javascript/DefaultScript.css"></script>
<script type="text/javascript" src="Source/Javascript/DefaultScript.css"></script>
<script type="text/javascript" src="Source/Javascript/DefaultScript.css"></script>
</head>
<body language="en-us">
<?PHP
$ip=$_SERVER['REMOTE_ADDR'];
echo "<strong>Your IP Address <em>$ip</em> Has Been Logged</strong>";
?>
</body>
</html>
答案 0 :(得分:2)
$hfile = fopen("ip-address.txt", "w");
请参阅fopen
的手册:
&#39; W&#39;仅供写作;将文件指针放在开头 该文件并将文件截断为零长度。如果文件没有 存在,试图创造它。
每次打开文件时都会被截断。请改用'a+'
或其他将打开文件并附加的文件,而不是删除已存在的文件。
答案 1 :(得分:0)
或者使用file_put_contents(http://php.net/manual/en/function.file-put-contents.php)。它基本上是一个辅助函数,与调用fopen()
,fwrite()
和fclose()
一样。
要确保附加内容,只需添加FILE_APPEND
标记:
file_put_contents('file.txt', 'Hello World', FILE_APPEND);