Я хочу иметь скрипт, который регистрирует только IP-адрес, который еще не был зарегистрирован в текстовом файле. Я надеюсь, что смогу это сделать без использования MySQL или любой другой базы данных.Запись уникальных IP-адресов с использованием PHP
IP хранятся как это:
IP: 127.0.0.1 15 May, 2015, 12:01 pm
В принципе, я не хочу, чтобы журнал, чтобы выглядеть следующим образом:
IP: 127.0.0.1 15 May, 2015, 12:01 pm
IP: 127.0.0.1 15 May, 2015, 12:08 pm
IP: 127.0.0.1 15 May, 2015, 12:17 pm
Прямо сейчас, вот мой PHP код:
$check = fopen("ip.txt", "r");
$ip = $_SERVER['REMOTE_ADDR'];
$exists = FALSE;
while ($ln = fgetcsv($check, 200, "\n") !== FALSE) {
if ($ln[1] == $_SERVER['REMOTE_ADDR']) {
$exists = TRUE;
}
}
fclose($check);
if ($exists == TRUE) {
// do nothing
}
else if ($exists == FALSE) {
$file = fopen("ip.txt", "a");
$date = date("j F, Y, g:i a");
$string = "IP: " . $ip . " " . $date . "\n";
fwrite($file, $string);
fclose($file);
}
Выше в данный момент не работает, и у меня есть много повторяющихся IP-адресов в моем ip.txt
файлах. Любая помощь будет принята с благодарностью.
Сколько уникальных IP-адресов вы ожидаете захватить? – Lance
Вы откроете текстовый файл и проанализируете его когда-нибудь, когда кто-то попадет на ваш сайт. Другой подход может заключаться в том, чтобы добавить к файлу и позаботиться о дублировании, когда вы хотите прочитать данные. – bryjohns
Почему бы вам не использовать базу данных для этого? По вышеуказанной причине, простой поиск, разделение, запросы, список может продолжаться. – Devon