Jak zapisywać do pliku numery IP osób odwiedzających stronę.doc

(28 KB) Pobierz
[PHP] Jak zapisywać do pliku numery IP osób odwiedzających stronę

[PHP] Jak zapisywać do pliku numery IP osób odwiedzających stronę?

Problem

Chcesz wykrywać numery IP użytkowników i zapisywać je w pliku tekstowym.

Rozwiązanie

Monitorowanie numerów IP użytkowników odwiedzających stronę jest o tyle przydatne, że pozwala zorientować się ilu unikalnych użytkowników odwiedza Twoją stronę.

Zapisywanie numerów IP do pliku pozwala tworzyć różnego rodzaju raporty i zestawienia dotyczące ruchu na stronie - można nie tylko zapisać numer IP, ale również czas, który pomoże ustalić kiedy użytkownik wszedł do serwisu - można więc ustalić jak często osoba odwiedza konkretne strony.

Standardowo adresy IP użytkownika zapisywane są w logach serwera WWW (np. Apache). Dzięki PHP możesz stworzyć niezależne statystyki IP i znacznie je rozbudować, jak w poniższym przykładzie:

<?

$ip = $_SERVER["REMOTE_ADDR"];

$f=fopen("numeryip.txt","a");

fputs($f,"$ip\n");

fclose($f);

?>

Do zmiennej $ip przypisuję numer IP użytkownika pobrany ze zmiennej systemowej $_SERVER["REMOTE_ADDR"]. Następnie otwieram plik numeryip.txt z atrybutem "a" (dodawanie do pliku nowej treści) i dopisuję pobrany numer IP. Znak \n powoduje przejście do nowej linii po zapisaniu numeru.

Można dodawać po każdym numerze datę i godzinę, co pozwoli śledzić dokładnie kiedy użytkownik wchodził do serwisu:

<?

$data = sprintf("%04d.%02d.%02d-%02d:%02d",

  date("Y"), date("m"), date("d"), date("H"), date("i"));

 

$ip = $_SERVER["REMOTE_ADDR"];

$f=fopen("numeryip.txt","a");

fputs($f,"$ip - $data\n");

fclose($f);

?>

Dodatkowa funkcja sprintf() z parametrami określającymi aktualną datę pozwala formatować datę i czas do postaci np. 2003.08.03-19:12. Tak może wyglądać zawartość pliku numeryip.txt:

157.22.2.56 - 2003.08.03-19:12

187.45.8.46 - 2003.08.03-19:13

175.52.42.11 - 2003.08.03-19:15

76.22.56.7 - 2003.08.03-19:16

113.4.32.116 - 2003.08.03-19:23

Możesz zapisywać w pliku również inne informacje.Uważaj tylko aby ilość zapisywanych danych nie była zbyt wielka, ponieważ szybko plik z numerami IP będzie się rozrastał. Numer IP składa się standardowo z 15 znaków (xxx.xxx.xxx.xxx). Gdy 500 użytkowników odsłoni stronę zapisującą wyłącznie numer IP tylko 5 razy, to plik już będzie miał objętość 37 tys. znaków. Im dłuższy plik tym trudniej go potem przetwarzać.

 

...
Zgłoś jeśli naruszono regulamin