A może by tak zrobić... |
A może by tak zrobić... |
9.07.2003, 21:10:17
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) |
... zrobić statystykę ile kto czasu spędził na forum? :-)
Jakby co to mam już gotowy skrypt - wykonałem na własne potrzeby (tutaj trochę skrócony) licznik czasu połączeń modemowych i przy niewielkiej modyfikacji nadałby się na forum. Kod: [php:1:dd9c813b4d]<?php // Wyskakujące okienko, znajdujące się w tle // które odświeża się co 30 sekund zapisując // aktualny czas if(!empty($user)) { if(empty($date)) { $date=date("d-m-Y-H-i-s"); $file=fopen("logs/".$user."/".$date.".txt","a"); } else { $file=fopen("logs/".$user."/".$date.".txt","a"); } fwrite($file,time()."#"); echo "<meta http-equiv="Refresh" content="30; URL=count.php?user=$user&date=$date">"; echo "Nie zamykaj tego okna przed rozł±czeniem się.<br><br><a href="java script:window.close()">Rozł±czyłem się - zakończ naliczanie</a>"; } ?>[/php:1:dd9c813b4d] [php:1:dd9c813b4d]<?php // Plik wyświetlający statystykę dla każdego użytkownika function timegen() { $t=explode(" ",microtime()); return($t[1]+$t[0]); } $__time=timegen(); function czas($t) { $min=floor($t/60); $godz=floor($min/60); if($min>60) { $min=($min-($godz*60)); } $sek=($t-($min*60) - ($godz*3600)); return($godz." h ".$min." min ".$sek." sek"); } function godziny($t) { $tmp=explode("#",$t); return(date("d.m.Y, H:i:s",$tmp[0])." -<br>".date("d.m.Y, H:i:s",$tmp[1])); } ?> <html><head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"> <title>Licznik - nie zamykaj tego okna!</title> <link type="text/css" rel="stylesheet" href="style.css"> </head><body bgcolor="#CCE5FF"> <?php if(empty($user)) { // Wczytywanie nazw plików $dir=opendir("logs/jedrek/"); while($plik=readdir($dir)) { if($plik!="." && $plik!="..") { $pliki["jedrek"][]=$plik; } } closedir($dir); // Wczytywanie danych z plików for($f=0; $f<count($pliki["jedrek"]); $f++) { $filename="logs/jedrek/".$pliki["jedrek"][$f]; $log=fread(fopen($filename,"r"),filesize($filename)); $temp=explode("#",$log); $last=count($temp)-2; $time["jedrek"][]=floor($temp[$last]-$temp[0]); $utime["jedrek"][]=$temp[0]."#".$temp[$last]; unset($last,$temp,$filename,$log); } ?> <br><br><font size="2"><b><a name="jedrek">Jędrek</a></b></font> <table border="1" width="400" cellpadding="5" cellspacing="0" bordercolorlight="#CCE5FF" bgcolor="#AAD5FF"> <? for($i=0; $i<count($time["jedrek"]); $i++) { if($time["jedrek"][$i]>5) { echo "<tr><td width="50">".($i+1)."</td>"; echo "<td width="150">".czas($time["jedrek"][$i])."</td>"; echo "<td width="200">".godziny($utime["jedrek"][$i])."</td>"; echo "</tr>"; } } echo "</table>"; unset($pliki); echo "<br><br><hr><br>"; for($i=0; $i<count($time["jedrek"]); $i++) { $razem+=$time["jedrek"][$i]; } echo "<font size="2">Ł±czny czas: <b>".czas($razem)."</b>"; } echo "<br><br><center><font size="1">Czas generowania dokumentu: <b>".sprintf("%0.3f",timegen()-$__time)." sek.</b></font>"; ?>[/php:1:dd9c813b4d] -------------------- |
|
|
9.07.2003, 21:48:46
Post
#2
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław |
Hehe..
już mam PolePosition w ilości postów, to moge mieć i w czasie przebywania... -------------------- |
|
|
9.07.2003, 21:52:33
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) |
Ja bym jeszcze dodal:
[php:1:312b3b5089]if( czas($razem) > 10000 ) { print 'Stanowczo za duzo '; }[/php:1:312b3b5089] |
|
|
9.07.2003, 22:04:49
Post
#4
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław |
Ja mam w palce wbudowane makro:
Jesli komputer jest zajęty przetwarzaniem Twojego zadania: - kliknij na pierwsze okno IE po lewej stronie - nacisnij f5 - sprawdz czy komputer zakonczyl wykonywanie twopjego zadania, jesli nie, to: - przejrzyj nowosci na forum. -------------------- |
|
|
9.07.2003, 22:13:30
Post
#5
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław |
widać masz wolny komputer - i dużo czasu zajmuje mu przetważanie zadań 8)
-------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
9.07.2003, 22:35:32
Post
#6
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) |
Szczerze, to nie wiem czemu ma to służyć...
Może ktoś nas przekona? -------------------- "Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
|
|
|
9.07.2003, 22:37:17
Post
#7
|
|
Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) |
Cytat Szczerze, to nie wiem czemu ma to służyć...
Ja sobie tylko tak luźno rzuciłem sobie pomysłem i kodem, wcale nie uważam, że to musi być. A czemu? Ciekawość :-) -------------------- |
|
|
9.07.2003, 22:47:10
Post
#8
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) |
Cytat [...] A czemu? Ciekawość :-)
Ciekawość to pierwszy stopień do piekła :wink: -------------------- "Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
|
|
|
9.07.2003, 23:46:42
Post
#9
|
|
Grupa: Zarejestrowani Postów: 401 Pomógł: 0 Dołączył: 18.04.2003 Skąd: Trójmiasto Ostrzeżenie: (0%) |
mhm jak dla mnie pomysl jest fajny ale.... nie na to forum chyba.... bo jak np. jestem zalogowany i robie wogole cos innego - nie przegladam forum tylko sobie pisze jakis skrypcik ... to tez ma naliczac czas czy moze da sie zrobic cos takiego :
jesli cos robie - przegladam stronki.... pisze jakies posty... wtedy ok mozna by takie cos wmontowac.... mhm nie no sam nie wiem ... jestem z tym pomyslem na... tak = 50% && nie = 50% 8) |
|
|
10.07.2003, 00:44:27
Post
#10
|
|
Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) |
Ilość czasu mogłaby świadczyć o stopniu zaangażowania w forum, tak samo jak ilość postów, chociaż raczej bardziej teoretycznie - jak ktoś mam stałe łącze to siedzi bez przerwy prawie.
Fo - też nad tym myślałem, bo zapomniałem, że nie wszyscy mają modem :-) i na forum są podczas czytania/pisania. Można by to jakoś powiązać z tym co widzą admini, czyli co robi dany user. -------------------- |
|
|
15.07.2003, 09:06:26
Post
#11
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 30.06.2003 Skąd: Uwielbiam to pytanie : Ostrzeżenie: (0%) |
Ja tu widze rozwiazanie z nowym oknem, a mozna przeciez zrobic w ten sposob, ze np. zalozyc czas czytania jednego posta/jednego wyrazu (tylko drugi przypadek nierealny - obciazenie serwera) na (odpowiednio) 10/0.5 sek. [przykladowo] i ten czas dodawac do bazy danych (czas czytania jednego postu-mnozymy przez ilosc postow i to dajemy do bazy). I jeszcze - jezeli uzytkownik wykona jakas akcje szybciej niz czas przewidziany w zalozeniu, to dodajemy mu ten krotszy czas. Problemem moze byc tu np. przegladanie forum w wielu oknach, ale mysle, ze mozna by i ten problem rozwiazac.
|
|
|
15.07.2003, 11:02:56
Post
#12
|
|
Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) |
Mozna bylo by tez zastosowac to co opisalem tutaj: http://forum.php.pl/viewtopic.php?p=25086#25086 do zliczania czasu pobytu na forum.
Z tym, ze nie wiem czy wogole tego typu "udogodnienie" ma sens. Natomiast przydala by sie jakas rozbudowana statystyka forum. |
|
|
15.07.2003, 11:20:58
Post
#13
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław |
statystyka - jestem na tak
bajer z pomiarem czasu - Nie (wydałoby sie, ile czasu tu marnotrawię ) A na poważnie - pomiar musiałby być mało dokładny, i tak naprawdę nic nie mówi. Jest tyle ciekawszych modów dla BB... -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
Wersja Lo-Fi | Aktualny czas: 29.05.2024 - 04:41 |