我如何使我的PHP脚本记录所有访问者的IP


How can I make my PHP script log the IP of all visiters?

我有一个脚本,我正在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);