![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
A więc mam logi w takim formacie:
Kod ip usera || host usera || przegladarka || data godzina || zadany url np. /admin/index.php || refer I teraz jak np. wyswietlic 10 najczesciej wystepujacych referów lub 10 najpoplarniejszych podstron ? Z przeglądarką nie ma problemu bo wystarczy liczyc ile razy wystapilo np. Opera i wyliczac jaki to % liczby wszytkich odwiedzin ale tak nie dam rady z referem i podstroną ![]() Drugi problem to taki jak wyciagnac rozdzielczosc ? -------------------- flexiCMS v2 [|||||||+--] 75% done
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Cytat Drugi problem to taki jak wyciagnac rozdzielczosc ? Z logow? nie da sie. JSem --> poszukaj na forum, bylo wiele razy Cytat I teraz jak np. wyswietlic 10 najczesciej wystepujacych referów lub 10 najpoplarniejszych podstron ? 1. wrzuc do bazy i po problemie 2. wczytaj kazda linie (file()), rozbij na pola (explode()) i wrzucaj do tablicy $referert[ $ref ] ++ i na koniec policz ktorego jest najwiecej -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
SQL nie wchodzi w gre niestety :/
Z baza było by bajecznie prosto .... Mozesz wyjaśnić dokłądniej drugi sposób ? czyli będę miał np.: $referert[ http://www.test.pl ] ++ I teraz $referert[ http://www.test.pl ] = 1 i teraz jak zliczyc ktorych jest najwiecej ? -------------------- flexiCMS v2 [|||||||+--] 75% done
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 229 Pomógł: 0 Dołączył: 29.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
możesz posortować tablicę poprzez sort() a następnie wyświetl te z indeksami 0-9
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cos jest nie tak :/
var_dump zwraca mi to: Kod array(6) { [" jakis ref "]=> int(1) [""]=> int(4) [" "]=> int(12) [" http://192.168.0.104/stat/ "]=> int(13) [" "]=> int(16) [" http://192.168.0.104/stat/ "]=> int(9) } Nie rozumiem tego ;/ 2 razy jest np. http://192.168.0.104/stat/ bez sensu :/ HELP ! Kod wygląda tak:
-------------------- flexiCMS v2 [|||||||+--] 75% done
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 57 Pomógł: 3 Dołączył: 23.10.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
może nie jest zbyt piękne ale działa ![]() można uprościć wywalając list() i ten warunek limitujący do 10 wyświetleń Ten post edytował Kamson 3.06.2007, 19:01:21 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jakos nie za duzo rozumiem z tego kodu
![]() Mam zamiar dodac jeszce geolokalizacje, napisalem juz skrypt do sprawdzania kraju ale znowu problem wraca jak numerang - jak wyswietlic kraje z ktorych wchodzono ? Potrzebuje tylko zebrac dane o krajach z kazdej linijki i sprawdzic jakie kraje wystapily i ile razy kazdy - ktos cos prostego podrzuci ? edit: Siadłem jeszce raz na spokojnie a lapkiem w lozku i przeanalizowalem swoj poprzednio pokazany kod ![]() Po malej przerobce wyglada tak:
Działa znakomicie ![]() Po za jednym szczegolem :/ Skad mam znac nazwy elemtow tablicy :/ Dane chciłbym pokazac w tabeli z 2 kolumnami, kraj i ilosc wizyt z danego kraju ![]() p.s. Dostałem juz kilka pw z pytaniem o cały kod - odpowiadam tutaj - nie ma i nie bedzie narazie, jak skoncze to dostaniecie sepy ![]() ![]() Ten post edytował kiler129 4.06.2007, 00:10:01 -------------------- flexiCMS v2 [|||||||+--] 75% done
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 57 Pomógł: 3 Dołączył: 23.10.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
kiler129 sprawdź mój kod .. on podlicza ile razy czego było w każdej linijce ... sortuje wg. liczby wystąpień i wyświetla pierwsze 10 .. do tego obok pokazuje ile % całości to dane wystąpienie
![]() http://k3d.be/ext/log/logi.php wynik tego kodu dla log.log Kod ip usera || host usera || przegladarka || data godzina || zadany url np. /admin/index.php || refer ip usera || host usera || przegladarka || data godzina || zadany url np. /admin/index.php || refer ip usera || host usera || przegladarka || data godzina || zadany url np. /admin/index.php || refer ip usera || host usera || przegladarka || data godzina || zadany url np. /admin/index.php || refe ip usera || host usera || przegladarka || data godzina || zadany url np. /admin/index.php || refe ip usera || host usera || przegladarka || data godzina || zadany url np. /admin/index.php || refe ip usera || host usera || przegladarka || data godzina || zadany url np. /admin/index.php || refer ip usera || host usera || przegladarka || data godzina || zadany url np. /admin/index.php || re ip usera || host usera || przegladarka || data godzina || zadany url np. /admin/index.php || re ip usera || host usera || przegladarka || data godzina || zadany url np. /admin/index.php || re Ten kod może bez problemu liczyć wystąpienia miast , itd.. Ten post edytował Kamson 4.06.2007, 08:40:58 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Kurde tylko jest maly problem - zaczyna sie coraz to dluzej wykonywac :/
Tak czy siak uzyje twoj skrypt ![]() Moglbys podkomentowac linie zebym sie bardziej lapal ? p.s. Czy dalo by sie przerobic foreach na while ? Jakos nie zabardzo rozumiem foreach ![]() Ten post edytował kiler129 4.06.2007, 15:08:20 -------------------- flexiCMS v2 [|||||||+--] 75% done
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 57 Pomógł: 3 Dołączył: 23.10.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
myślę że foreach to dobre rozwiązanie .. żeby wyciągnąć klucz i wartość musiał bym dać pętle for i funkcje each żeby przemieszczać wskaźnik tablicy. while odpada bo to tablica asocjacyjna i nie ma liczb w kluczach jeśli chodzi o szybkość to wiadomo ...log długi i zaczyna się problem. Ja bym to zrobił tak że generowaną tablice $stat zapisywał bym sobie do pliku a przemielony log.log czyścił. Skrypt przy ponownym uruchomieniu wczytywał by sobie tablice i mielił by tylko to co w log.log dodane zostało między uruchomieniami skryptu. ![]() Ten post edytował Kamson 4.06.2007, 16:21:54 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Kurde nadal sie nie moge polapac co i jak :/
Powiedz mi co gdzie zmienic aby to wpakowac a tabelke (<td></td>) ? Ew. zrobic wykres poziomy w tej tabeli itp EDIT: Zoptymalizowałem skrypt i teraz statystyka generuje sie w 0.07 sec ![]() Ten post edytował kiler129 4.06.2007, 16:53:35 -------------------- flexiCMS v2 [|||||||+--] 75% done
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 57 Pomógł: 3 Dołączył: 23.10.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
jeśli 100% to ma być 100px
a mogę wiedzieć co zoptymalizowałeś? .. co byś nie modyfikował to logi po tygodniu funkcjonowania strony i tak jest zbyt obfity do takich analiz ;P Ten post edytował Kamson 4.06.2007, 17:26:11 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jak beda logi za duze to pobawie sie w cachowanie, tzn. rerenderign na zyczenie, tzn. bedzie user klikal i dostanie mail ze juz sie odswiezyla i ze jest aktualna a tak to bedzie z cache na serwie pochodziła
![]() Co do optymalizacji to otwieranie pliku, inaczej echo, inaczej rozlozone while itp. Gdybys chcial kod to moge Ci podrzucic ![]() Tak ogolnie to mam chetke na serwis ze statami ![]() ![]() edit: Takie male demko ![]() Ten post edytował kiler129 6.06.2007, 01:24:41 -------------------- flexiCMS v2 [|||||||+--] 75% done
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.06.2025 - 21:04 |