我有一个脚本,我正在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>
$hfile = fopen("ip-address.txt", "w");
参考fopen
手册:
'w'只允许写入;将文件指针放置在删除文件并将文件截断为零长度。如果文件没有存在,尝试创建
每次打开文件时,它都会被截断。使用'a+'
,或者另一个将打开文件并追加,而不是删除已经存在的内容。
或者使用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);