我制作了一个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 :(得分:3)
这里的关键是fopen
函数的第二个参数。
查看http://php.net/manual/en/function.fopen.php
您正在使用:
$fh = fopen('log.txt', 'a');
一种手段..
仅供写作;将文件指针放在文件的末尾。如果该文件不存在,请尝试创建它。在这种模式下,fseek()无效,写入总是附加。
您可以选择所需的任何选项。
例如,r +表示:
开放阅读和写作;将文件指针放在文件的开头。
希望这有帮助。
答案 1 :(得分:0)
你可以:
$toFile = IP;
$toFile .= file_get_contents('log.txt');
file_put_contents('log.txt', $toFile );
如果您不想将文件的全部内容加载到变量中,可以使用PHP的Streams功能: