PHP IP 跟踪脚本,带有$fopen .txt文件,但只写入一个 ip


PHP Ip Tracking Script, with $fopen .txt file but write one ip once only

<?php 
  echo '<b>Your ip has now been logged:</b> ';
  echo $_SERVER["REMOTE_ADDR"]; 
$myip = "144.141.53.98"; //so it does not log your IP and spam up the log file
 //echo ' Your ip: '; 
if ( isset($_SERVER["REMOTE_ADDR"]) )    { 
echo '' . $_SERVER["REMOTE_ADDR"] . ' '; 
//echo "You are using Localhost";
} else if ( isset($_SERVER["HTTP_X_FORWARDED_FOR"]) )    { 
  echo '' . $_SERVER["HTTP_X_FORWARDED_FOR"] . ' '; 
//echo "Your ip is forwarded";
} else if ( isset($_SERVER["HTTP_CLIENT_IP"]) )    { 
  echo '' . $_SERVER["HTTP_CLIENT_IP"] . ' '; 
//echo "You ip is not forwarded";
} 
$file = fopen("ips.txt", "a+");
fwrite($file,$_SERVER["REMOTE_ADDR" ]."'n");
?>

好的,现在下面这行代码

$myip = "144.141.53.98"; //so it does not log your IP and spam up the log file

我想要如果一个 ip 已经记录在日志文件中,那么它不会第二次记录该 ip

请帮忙?

<?php
 echo '<b>Your ip has now been logged:</b> ';
  echo $_SERVER["REMOTE_ADDR"]; 
$myip = "144.141.53.98"; //so it does not log your IP and spam up the log file
 //echo ' Your ip: '; 
$ip = $_SERVER['REMOTE_ADDR'];
if ( isset($_SERVER["REMOTE_ADDR"]) )    { 
echo '' . $_SERVER["REMOTE_ADDR"] . ' '; 
//echo "You are using Localhost";
} else if ( isset($_SERVER["HTTP_X_FORWARDED_FOR"]) )    { 
  echo '' . $_SERVER["HTTP_X_FORWARDED_FOR"] . ' '; 
//echo "Your ip is forwarded";
} else if ( isset($_SERVER["HTTP_CLIENT_IP"]) )    { 
  echo '' . $_SERVER["HTTP_CLIENT_IP"] . ' '; 
//echo "You ip is not forwarded";
} 
$file = file_get_contents('ips.txt');
// No Duplicate IP Address's
if(strpos($file, $ip) !== false)
{
    die("<br><br>Your IP Address: ".$ip." has already been logged.");
}
//Write IP To file
$file = fopen("ips.txt", "a+");`enter code here`
fwrite($file,$_SERVER["REMOTE_ADDR" ]."'n");
fclose($file);
?>