2017-04-18 196 views
0

我做了一個PHP代碼,可以在一個txt文件中記錄訪客的IP地址,端口,日期,瀏覽器名稱。但它並沒有顯示頂部的最新訪客詳情。所以每次我需要向下滾動瀏覽用戶詳細信息。有什麼辦法可以在log.txt文件的頂部顯示訪問者的詳細信息,這樣我就不必每次都向下滾動了?以下是完整的PHP代碼:網站訪問者的詳細信息

<?php 
    $protocol = $_SERVER['SERVER_PROTOCOL']; 
    $ip = $_SERVER['REMOTE_ADDR']; 
    $port = $_SERVER['REMOTE_PORT']; 
    $agent = $_SERVER['HTTP_USER_AGENT']; 
    $ref = $_SERVER['HTTP_REFERER']; 
    $hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']); 
    $dateTime = date('Y/m/d G:i:s'); 

    $fh = fopen('log.txt', 'a'); 
    fwrite($fh, 'IP Address: '."".$ip ."\n"); 
    fwrite($fh, 'Hostname: '."".$hostname ."\n"); 
    fwrite($fh, 'Port Number: '."".$port ."\n"); 
    fwrite($fh, 'User Agent: '."".$agent ."\n"); 
    fwrite($fh, 'HTTP Referer: '."".$ref ."\n"); 
    fwrite($fh, 'Date: '."".$dateTime ."\n\n"); 
    fclose($fh); 
    ?> 
+0

'$ _SERVER ['HTTP_REFERER']'不依賴於此。 –

+0

一個分貝會更聰明,谷歌分析爲您提供更好的數據。沒有你記錄的東西不能從訪問日誌中被刮掉。 – nogad

回答

3

這裏的關鍵是fopen函數的第二個參數。

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

您正在使用:

$fh = fopen('log.txt', 'a'); 

的手段..

寫入方式打開;將文件指針放在文件的末尾。如果文件不存在,請嘗試創建它。在這種模式下,fseek()不起作用,寫入總是被附加。

你可以選擇你想要的任何選項。

例如,R +是指:

打開用於讀取和寫入;將文件指針放在文件的開頭。

希望這會有所幫助。

0

您可以:

  1. $toFile = IP; $toFile .= file_get_contents('log.txt'); file_put_contents('log.txt', $toFile);
  2. 如果您不希望將文件的全部內容加載到一個變量,你可以使用PHP的Streams功能: