Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: A może by tak zrobić...
Forum PHP.pl > Inne > Opinie, ogłoszenia, pytania > Forum
spenalzo
... 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ł&plusmn;czeniem się.<br><br><a href="java script:window.close()">Rozł&plusmn;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">Ł&plusmn;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]
scanner
Hehe..
już mam PolePosition w ilości postów, to moge mieć i w czasie przebywania...
Seth
Ja bym jeszcze dodal:
[php:1:312b3b5089]if( czas($razem) > 10000 )
{
print 'Stanowczo za duzo tongue.gif';
}[/php:1:312b3b5089]
scanner
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.
DeyV
widać masz wolny komputer - i dużo czasu zajmuje mu przetważanie zadań 8) laugh.gif
KaMeLeOn
Szczerze, to nie wiem czemu ma to służyć...
Może ktoś nas przekona? rolleyes.gif
spenalzo
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ść aaevil.gif :-)
KaMeLeOn
Cytat
[...] A czemu? Ciekawość aaevil.gif :-)

Ciekawość to pierwszy stopień do piekła laugh.gif :wink:
Fo
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% rolleyes.gif 8)
spenalzo
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.
Tr@pi
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.
Seth
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.
DeyV
statystyka - jestem na tak
bajer z pomiarem czasu - Nie (wydałoby sie, ile czasu tu marnotrawię winksmiley.jpg )
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...
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.