Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Licznik odwiedzin z numerów ip
Forum PHP.pl > Forum > Przedszkole
ed2k
Witam!
Chciałem zrobić na swojej stronie licznik w php. Od dłuższego czasu mam na stronie kod php który do pliku textowego zapisuje date odwiedzin i numer ip i chciałbym żeby licznik ten odczytywał z pliku textowego ilość numerów ip i obliczał liczbe odwiedzin. Da sie zrobić cos takiego?
Kod który mialem dotychczas:
  1. <?
  2. $data = sprintf("%04d.%02d.%02d-%02d:%02d",
  3.   date("Y"), date("m"), date("d"), date("H"), date("i"));
  4.  
  5. $ip = $_SERVER["REMOTE_ADDR"];
  6. $f=fopen("numeryip.txt","a");
  7. fputs($f,"$ip - $data\n");
  8. fclose($f);
  9. ?>


poprawiam
---
nospor



plik textowy jest zapisywany w taki sposób:
Kod
83.28.255.181 - 2005.03.05-15:54
83.28.227.28 - 2005.03.05-15:54
83.28.227.28 - 2005.03.05-15:55
83.28.227.28 - 2005.03.05-16:04
siemakuba
ma obliczać ile tych numerów IP zapisałeś do pliku? to wystarczy policzyć ile jest lini w pliku. (file" title="Zobacz w manualu php" target="_manual, count" title="Zobacz w manualu php" target="_manual)

czy ma obliczac ile jest unikalnych IP w pliku?
1. czytasz plik do tablicy - file" title="Zobacz w manualu php" target="_manual
2. iterujesz przez otrzymana tablice (for" title="Zobacz w manualu php" target="_manual, foreach" title="Zobacz w manualu php" target="_manual, while" title="Zobacz w manualu php" target="_manual) tworzac nowa tablice, do ktorej zapisujesz tylko numery ip (przyda ci sie explode" title="Zobacz w manualu php" target="_manual)
3. pozbywasz sie dublujacych sie numerow IP - array_unique" title="Zobacz w manualu php" target="_manual
4 sprawdzasz ile ci zostalo danych w tablicy - count" title="Zobacz w manualu php" target="_manual

pozdr. :)
ed2k
Ten kod dodaje mi przy każdej linijce jej numer
  1. <?
  2. $tablica = file("numeryip.txt");
  3. for ($i=0; $i<count($tablica); $i++)
  4. {
  5. echo "Linijka $i: ".$tablica[$i]."<br>";
  6. }
  7. ?>

i nie wiem co zrobic zeby na stronie pojawił się numer ostatniej linijki...
siemakuba
zaraz, czy ty chcesz w ten sposób sprawdzić ile jest tych linijek?
od tego masz count" title="Zobacz w manualu php" target="_manual, którego zresztą używasz, chociaż chyba bez zrozumienia.

Ilość linijek w pliku:
  1. <?php
  2. $tablica = file("numeryip.txt");
  3. $ile_linijek = count($tablica);
  4. ?>


jezeli z jakichś powodów potrzebujesz jednak użyć swojej pętli for, to zastanów się, jaką wartość będzie miała zmienna $i na końcu pętli?

pozdr.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.