私はクライアントのIPをlogs.txtに保存するコードを書いたが、logs.txtから追加のipを削除したい。私は何をするつもりですか?PHPで重複IPを削除する方法
$at = $_SERVER['REMOTE_ADDR'];
$log = fopen("logs.txt", "a");
fwrite($log, $at ."\n");
fclose($log);
ありがとうございます。
私はクライアントのIPをlogs.txtに保存するコードを書いたが、logs.txtから追加のipを削除したい。私は何をするつもりですか?PHPで重複IPを削除する方法
$at = $_SERVER['REMOTE_ADDR'];
$log = fopen("logs.txt", "a");
fwrite($log, $at ."\n");
fclose($log);
ありがとうございます。
使用してLinux:
sort logs.txt | uniq
はところで、通常、IPは、Webサーバのアクセスログに記録されます。
次のコマンドを試してください。
sort file | UNIQ> file.new
方法#1
$at = $_SERVER['REMOTE_ADDR'];
$log = file_get_contents("logs.txt");
$log = trim($log); // removes leading/trailing blank lines
$log = explode("\n", $log);
$log[] = $at;
$log = array_unique($log);
$log = implode("\n", $log);
file_put_contents("logs.txt", $log);
方法#2
$at = $_SERVER['REMOTE_ADDR'];
$log = file_get_contents("logs.txt");
$temp = explode("\n", $log);
if(in_array($at, $temp) == false) {
file_put_contents("logs.txt", $log . $at . "\n");
}
それはWindowsまたはLinuxボックスの両方で動作しますので、私はサルマンの道を行くだろう。
ただし、すべてのデータを1つのファイルに保存するSQLiteなどのデータベースを使用することを検討してください。したがって、より柔軟な方法でデータを照会することができます。