drumeer
21.05.2004, 21:41:57
Witam !
poszukuję skryptu który pokazywałby ile osób jest aktualnie online na stronie . np online: 22
Proszę o pomoc
Pozdrawiam
tara
21.05.2004, 21:43:27
drumeer
23.05.2004, 18:41:11
Niestety nie działa jak większość ściągnietych skryptów z sieci.
Może ktos posiada przetestowany skrypt pokazujący w przybliżeniu lub dokładnie ile osób jest online na stronie ?
Prosze, to ważne dla mnie. pozdrawiam
BzikOS
23.05.2004, 23:02:51
A może to Ty nie umiesz ich skonfigurować? Coś mi się wierzyć nie chce, że ktoś wystawiłby niedziałający skrypt...
grzybowski11
24.05.2004, 15:30:41
[php:1:6ed20f86e9]<?php
//-----------------------------------------------------------------------------------------------------------
// KONFIGURACJA
//-----------------------------------------------------------------------------------------------------------
// czas przez jaki użytkownik po wej¶ciu na stronę będzie uważany za podł±czonego (w sekundach)
$assumed_time=300;
// katalog w którym skrypt ma przechowywać dane
$data_dir="data";
//-----------------------------------------------------------------------------------------------------------
// KONIEC KONFIGURACJI
//-----------------------------------------------------------------------------------------------------------
function add()
{
global $assumed_time, $data_dir, $REMOTE_ADDR;
$ctime=time();
$file=fopen("$data_dir/users", "r");
flock($file, 1);
while(!feof($file))
{
$addr=chop(fgets($file, 100));
if($addr)
$users[$addr]=(int)chop(fgets($file, 100));
}
$users[$REMOTE_ADDR]=$ctime+$assumed_time;
flock($file, 3);
fclose($file);
$file=fopen("$data_dir/users", "w");
flock($file, 2);
$n=0;
while(list($user, $exp_time)=each($users))
{
if($exp_time>$ctime)
{
fputs($file, "$usern$exp_timen");
$n++;
}
}
flock($file, 3);
fclose($file);
$rec=file("$data_dir/rec");
if($n>(int)$rec[0])
{
$file=fopen("$data_dir/rec", "w");
flock($file, 2);
fputs($file, "$n");
flock($file, 3);
fclose($file);
}
}
function display()
{
global $assumed_time, $data_dir, $REMOTE_ADDR;
$ctime=time();
$n=0;
$file=fopen("$data_dir/users", "r");
flock($file, 1);
while(!feof($file))
{
$addr=chop(fgets($file, 100));
if(!$addr)
break;
$users[$addr]=(int)chop(fgets($file, 100));
if($users[$addr]>$ctime)
$n++;
}
echo($n);
}
switch($UO_ACTION)
{
case "ADD":
add();
break;
case "DISPLAY":
display();
break;
case "STAT":
stat();
break;
case "":
add();
display();
break;
}
?>[/php:1:6ed20f86e9]
Ja tu błędu niewidzę a wkleiłeś
[php:1:6ed20f86e9]<?php
$UO_ACTION="DISPLAY"; include("online.php");
?>[/php:1:6ed20f86e9]
TroYan
24.05.2004, 16:42:23
nie można zrobić tego w jakis prostszy sposob
czy ten kod musi byc taki dlugi i skomplikowany ?
hwao
24.05.2004, 17:35:34
Cytat
nie można zrobić tego w jakis prostszy sposob
czy ten kod musi byc taki dlugi i skomplikowany ?
To jest prakrycznie samo otwierania i zamykanie pliku nie ma tam nic trudnego:> php.net i poszczeugla funckje sobie przeczyaj