![]() |
![]() ![]() |
![]() |
![]()
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ą (IMG:http://forum.php.pl/style_emoticons/default/tiredsmiley.gif) Drugi problem to taki jak wyciagnac rozdzielczosc ? |
|
|
![]()
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 |
|
|
![]()
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 ? |
|
|
![]()
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:
|
|
|
![]()
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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) 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 (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Po malej przerobce wyglada tak:
Działa znakomicie (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) 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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) 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 (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Zostanie on opublikowany zapewne jako wersja 2.0, obecna to 1.3 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował kiler129 4.06.2007, 00:10:01 |
|
|
![]()
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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Moglbys podkomentowac linie zebym sie bardziej lapal ? p.s. Czy dalo by sie przerobic foreach na while ? Jakos nie zabardzo rozumiem foreach (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował kiler129 4.06.2007, 15:08:20 |
|
|
![]()
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. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) 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 (IMG:http://forum.php.pl/style_emoticons/default/Rkingsmiley.png) Ten post edytował kiler129 4.06.2007, 16:53:35 |
|
|
![]()
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Co do optymalizacji to otwieranie pliku, inaczej echo, inaczej rozlozone while itp. Gdybys chcial kod to moge Ci podrzucic (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Tak ogolnie to mam chetke na serwis ze statami (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Napeno znajdziesz sie w podziekowaniach (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) edit: Takie male demko (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) http://idysk.net/stat/stat.php Ten post edytował kiler129 6.06.2007, 01:24:41 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 20:00 |