как удалить дубликат IP в PHP - PullRequest
0 голосов
/ 23 июля 2011

Я написал код, который сохраняет ip клиента в logs.txt, но я хочу удалить дополнительный ip из logs.txt. что я собираюсь делать?

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

Заранее спасибо.

Ответы [ 4 ]

1 голос
/ 23 июля 2011

Я бы пошел по пути Салмана, потому что он работает как в Windows, так и в Linux.

Однако рассмотрите возможность использования базы данных, такой как SQLite , которая сохраняет все данные в одном файле.Таким образом, вы сможете более гибко запрашивать данные.

1 голос
/ 23 июля 2011

попробуйте следующую команду

sort file |uniq> file.new

1 голос
/ 23 июля 2011

Метод № 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");
}
0 голосов
/ 23 июля 2011

Использование linux:

sort logs.txt | uniq

Кстати, обычно ip регистрируется в журнале доступа веб-серверов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...