有种方法是用数据库实现的很耗资源
如果你想听可以继续,如果不想听则返回!
因为我们无法知道对方何时关闭浏览器走人,所以我们要给出一个时间来作为对方不线的依据
例如:5分钟 就是说对方上一次操作你所纪录的时间和当前时间相差大于了5分钟,我们则认为他不在线,条件是对方的每一次操作你都必须更新你数据库中相应ID的时间。大概就是这样的,其实解决方法很多,你可以去www.google.com上去搜,我的这种方法不太好!
实现的方法都有了,你还要代码做什么,因该自己写啊,锻炼一下,也就是一些简单的数据库操作!
如果有什么不妥之处不要笑话我,帮我指出,我也才学没多长时间!
如果你想听可以继续,如果不想听则返回!
因为我们无法知道对方何时关闭浏览器走人,所以我们要给出一个时间来作为对方不线的依据
例如:5分钟 就是说对方上一次操作你所纪录的时间和当前时间相差大于了5分钟,我们则认为他不在线,条件是对方的每一次操作你都必须更新你数据库中相应ID的时间。大概就是这样的,其实解决方法很多,你可以去www.google.com上去搜,我的这种方法不太好!
实现的方法都有了,你还要代码做什么,因该自己写啊,锻炼一下,也就是一些简单的数据库操作!
如果有什么不妥之处不要笑话我,帮我指出,我也才学没多长时间!
解决方案 »
- 请问怎么样对文本文件定义唯一ID字段方便进行索引啊?
- PHP做三层?如何开始
- 一套系统 支持不同语言 文件下载
- PHP编程菜鸟遇到了问题~~请各位高手帮助。第二弹,接昨天的帖子。
- mysql_field_len()方法传入的列如果是varchar型的,为什么长度会变
- 在PHP的gd2.lib下,关于汉字显示问题?
- 图片水印如何设置透明
- HTML高手来帮忙啊,急!!!
- ? thinkphp关联模型 关联条件如何定义
- 求www.cndev.net 和http://bbs.21youth.com/两网站的论坛实现方法?
- 怎样实现如下功能。急问。可以给费用。
- =========PHP发EMAIL问题.==========在线等待
$ip = $_SERVER["REMOTE_ADDR"];
$time = time();
$minutes = 15;
$found = 0;
$users = 0;
$user = "";$tmpdata = $DOCUMENT_ROOT."/online/data";if (!is_file("$tmpdata/online.txt"))
{
$s = fopen("$tmpdata/online.txt","w");
fclose($s);
chmod("$tmpdata/online.txt",0666);
}$f = fopen("$tmpdata/online.txt","r+");
flock($f,2);while (!feof($f))
{
$user[] = chop(fgets($f,65536));
}fseek($f,0,SEEK_SET);
ftruncate($f,0);foreach ($user as $line)
{
list($savedip,$savedtime) = split("|",$line);
if ($savedip == $ip) {$savedtime = $time;$found = 1;}
if ($time < $savedtime + ($minutes * 60))
{
fputs($f,"$savedip|$savedtimen");
$users = $users + 1;
}
}if ($found == 0)
{
fputs($f,"$ip|$timen");
$users = $users + 1;
}fclose ($f);
print "在线人数: <font color=black>$users</font>
";
?>