动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   PHP → 阅读文章

 使用文本统计在线人数

作者来源: 
阅读 2217 人次 , 2006-2-16 14:35:00 

此方法无需MySQL数据库支持,利用普通文本实现计数功能


<?php 
//首先你要有读写文件的权限
//本程序可以直接运行,第一次报错,以缶涂梢?
 $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."人在线"; 

?> 


使用方法:

1. 将以上代码另存为count.php

2. 在需要的页面引入计数器 <?php incude('count.php'); ?> 即可

  
 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:防止单引号,双引号在接受页面转义
· 下一篇:取得文件扩展名方法
· PHP脚本的8个技巧(2)
· 用PHP发送MIME邮件(一)
· 转义符使用小结
· 将OICQ数据转成MYSQL数据
· Cookie及其使用(二)


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077