Viet' Library

Hơn tất cả những gì bạn có!

Đếm số người đang online bằng PHP

Bài này sẽ hướng dẫn các bạn cách đếm số người online trên website của bạn từ những IP khác nhau. ( Chỉ những IP khác nhau thì số người online mới tăng lên).

CODE như sau :

#function Online counter
function counter()
{
$rip = $_SERVER[‘REMOTE_ADDR’];
$sd = time();
$count = 1;
$maxu = 1;

$file1 = “ip.txt”;
$lines = file($file1);
$line2 = “”;

foreach ($lines as $line_num => $line)
{
if($line_num == 0)
{
$maxu = $line;
}


else
{
//echo $line.”<br>”;
$fp = strpos($line,’****’);
$nam = substr($line,0,$fp);
$sp = strpos($line,’++++’);
$val = substr($line,$fp+4,$sp-($fp+4));
$diff = $sd-$val;

if($diff < 300 && $nam != $rip)
{
$count = $count+1;
$line2 = $line2.$line;
//echo $line2;
}
}
}

$my = $rip.”****”.$sd.”++++\n”;
if($count > $maxu)
$maxu = $count;

$open1 = fopen($file1, “w”);
fwrite($open1,”$maxu\n”);
fwrite($open1,”$line2″);
fwrite($open1,”$my”);
fclose($open1);
//tang count va maxu len cho nhieu
$count=$count+5;
$maxu=$maxu+107;

return $count; ( 1 )
}

Giải thích:

Hàm trả về số người đang online nếu bạn để return $count Nếu không để return $count thì khi gọi hàm sẽ lấy được hai giá trị: $maxu ( Số người truy cập nhiều nhất cùng lúc) và $count ( Số người đang online).

Ở trên mình cho $count=$count +5 và $maxu=$maxu+107 tức là lúc nào cũng có tối thiểu 5 người đang online và lúc nhiều nhất là 107 người.Cái này bạn có thể thay đổi tùy ý.

Chúc bạn thành công – www.ticsoft.com (Nguồn: sưu tầm)

Advertisements

Thứ Ba, 30,Tháng Mười Một, 2010 - Posted by | Php

Không có bình luận

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s

%d bloggers like this: