Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [skrypt] Statystyka - pliki
Forum PHP.pl > Forum > Gotowe rozwiązania
KObRACooL
Witam wszystkich forumowiczów. Mam skrypt który jest includowany do pliku index.php i robi mi plik ze statystykami.
  1. <?php 
  2.  
  3. function host_ip()
  4. {
  5. global $HOST;
  6.  
  7.  
  8. $cache = $_SERVER['REMOTE_ADDR'];
  9. $proxy = $_SERVER['HTTP_X_FORWARDED_FOR'];
  10.  
  11.  
  12. if($proxy == '')
  13.  { $HOST = @gethostbyaddr($cache); }
  14. else
  15. {
  16. list ($lok, $hos) = split('[,]', $proxy);
  17. $czysty = ltrim($hos);
  18. $hosti = @gethostbyaddr($czysty);
  19. if($hosti == $czysty || $hosti == '')
  20.  { $hosti = @gethostbyaddr($cache); };
  21. $HOST = &#092;"$hosti ($lok)\";
  22. };
  23. };
  24. host_ip();
  25.  
  26. $inf[plik]  = &#092;"loggg.txt\";
  27. $inf[date]  = date(&#092;"Y-m-d H:i:s\");
  28. $inf[ip]   = getenv (&#092;"REMOTE_ADDR\"); 
  29. $inf[host]   = gethostbyaddr($inf[ip]);
  30. $inf[from]  = $HTTP_REFERER;
  31. $inf[query]  = $QUERY_STRING;
  32. $inf[iuser]  = $HTTP_USER_AGENT;
  33.  
  34.  
  35. $for   = &#092;"[ $inf[date] ] | $inf[ip] | $inf[host] | $HOST | $inf[from] | $inf[query] |
     $inf[iuser]n\";
  36. $fp = fopen(&#092;"$inf[plik]\",\"a\");
  37. fwrite($fp,$for);
  38. fclose($fp);
  39. ?>


Problem polega na tym że jest to plik textowy. Więc do oglądania takowych statów trzeba mieć samozaparcie itp.
winksmiley.jpg

Chciałbym teraz ten plik wykorzystać do tego aby na innej witrynie wyświetlała mi się statystyka z tamtych danych. Typu -- Ilość odwiedzin w danym miesiącu, w tygodniu, ilość na tydzien, górujące przeglądarki, najczęściej oglądana witryna u mnie, najczęstsza witryna z której osoba przyszła...

Jak się za to zabrać ? Plik w tej chwili już jest niemały - wychodzi z tego roczna statystyka

a przykładowa linia z tego pliku wygląda tak --

Kod
[ 2003-10-24 16:34:50 ] | 153.19.251.230 | w3cache.task.gda.pl | http://www.wp.pl | url=download | Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)


Proszę o pomoc ...
bregovic
Generalnie robienie czegos takiego na plikach to bardzo zly pomysl. moze jednak mimo wszystko zmien na baze danych? Jesli nie mozesz, to postaraj sie robic plik na miesiac. mozesz to latwo rozwiazac, zmieniajac linie 26 twojegoskryptu na:
  1. <?php
  2.  
  3. $inf[plik]  = date('Y-m').&#092;"-log.txt\";
  4.  
  5. ?>

Ewentualnie, jesli jest to mala strona to mozesz robic statystyki roczne. Takie ograniczenie powinno umozliwic latwiejsze parsowanie... Z tymze i i tak przy wiekszej ilosci danych (np wyswietlaniu statystyk rocznych) zajmie to roche czasu...
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-2024 Invision Power Services, Inc.