2011-07-23 15 views
0

私はクライアントのIPをlogs.txtに保存するコードを書いたが、logs.txtから追加のipを削除したい。私は何をするつもりですか?PHPで重複IPを削除する方法

$at = $_SERVER['REMOTE_ADDR']; 
$log = fopen("logs.txt", "a"); 
fwrite($log, $at ."\n"); 
fclose($log); 

ありがとうございます。

答えて

0

使用してLinux:

sort logs.txt | uniq 

はところで、通常、IPは、Webサーバのアクセスログに記録されます。

1

次のコマンドを試してください。

sort file | UNIQ> file.new

1

方法#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"); 
} 
1

それはWindowsまたはLinuxボックスの両方で動作しますので、私はサルマンの道を行くだろう。

ただし、すべてのデータを1つのファイルに保存するSQLiteなどのデータベースを使用することを検討してください。したがって、より柔軟な方法でデータを照会することができます。

関連する問題