在数据表member中设计一个字段专门存储是否在线的标志,如:line
然后$total = select count(line) as sum from member;求gg们了
---------------------------------------------------------------------
晕……以后提问不必向别人宣告:我是MM吧
然后$total = select count(line) as sum from member;求gg们了
---------------------------------------------------------------------
晕……以后提问不必向别人宣告:我是MM吧
解决方案 »
- php中网页一关闭就删除MySQL仲的数据?
- 很想知道内容联盟的原理?
- 在 xampp里怎么配置wap开发环境??????
- 一个算法,(关于分时段计算价格的问题)求解 满意 给分200
- 用php在图片上写字
- 如何判断自己的页面被其他站点在iframe中调用?
- 哪位大侠能帮我解决立即给你,决不食言 Apache2+PHP4求救:我在地址栏里输入http://localhost/phpinfo.php,然后出现Fatal error: Call t
- 如何列出所有Request.QueryString的名字
- 关于语音聊天室的问题,高分请教
- 难道不该是i么?
- 请教中文字符串问题,某些字在替换后会换成其他的
- 急问,在线等~~~~~~
不给就算了,俺不强求!撒野吧回复人: Jzealot(小玲) ( ) 信誉:95
不给就算了,俺不强求!撒野吧回复人: Jzealot(小玲) ( ) 信誉:95
不给就算了,俺不强求!撒野吧
//首先你要有读写文件的权限
//本程序可以直接运行,第一次报错,以后就可以
$online_log = "count.dat"; //保存人数的文件,
$timeout = 30;//30秒内没动作者,认为掉线
$entries = file($online_log); $temp = array();
for ($i=0;$i<count($entries);$i++) {
$entry = explode(",",trim($entries[$i]));
if (($entry[0] != getenv('REMOTE_ADDR')) && ($entry[1] > time())) {
array_push($temp,$entry[0].",".$entry[1]."\n"); //取出其他浏览者的信息,并去掉超时者,保存进$temp
}
} array_push($temp,getenv('REMOTE_ADDR').",".(time() + ($timeout))."\n"); //更新浏览者的时间
$users_online = count($temp); //计算在线人数 $entries = implode("",$temp);
//写入文件
$fp = fopen($online_log,"w");
flock($fp,LOCK_EX); //flock() 不能在NFS以及其他的一些网络文件系统中正常工作
fputs($fp,$entries);
flock($fp,LOCK_UN);
fclose($fp); echo "当前有".$users_online."人在线"; ?>
不好意思,我也是转贴,非原创