网络编程 
首页 > 网络编程 > 浏览文章

利用文件属性结合Session实现在线人数统计

(编辑:jimmy 日期: 2024/10/10 浏览:3 次 )

<?php
ob_start();
session_start();
$num=0;
$dirpt    =    "online";
$reftime    =    1;

if (is_dir($dirpt) && $dir = opendir($dirpt)) {
  while (($file = readdir($dir)) !== false) {
    if(strcmp($file,"..")==0 || strcmp($file,".")==0){
        continue;
    }
    $D_[date("Y-m-d H:i:s",filemtime($dirpt."/".$file))]=$file;
    $num++;
    unset($cum);
  }  
  closedir($dir);
  $filename    =    session_id();
  $fp        =    fopen($dirpt."/".$filename,"w");
  fputs($fp,"");
  fclose($fp);

  $ntime    =    date("Y-m-d H:i:s",mktime(date("H"),date("i")-1,0,date("m"),date("d"),date("Y")));
  $D_[$ntime]="-";
  krsort($D_);
  $onlinenumber=0;
  while(1){
    $vkey=key($D_);
    $onlinenumber++;
    if(strcmp($ntime,$vkey)==0){
        break;
    }else{
        array_shift($D_);
    }
  }
  array_shift($D_);
  reset($D_);
  while(count($D_)>0){
    $ckey=key($D_);
    unlink($dirpt."/".$D_[$ckey]);
    if(!next($D_)){
        break;
    }
  }

}else{
    @chmod("..",0777);
    @mkdir($dirpt,0777);

}
$online=$onlinenumber-1;
$retime=60*$reftime;
echo "当前在线<strong><font color=red>$online</font></strong>人<meta http-equiv=refresh content=\"{$retime},url=\">";
ob_end_flush();
?>
<!--
   《利用文件属性结合Session进行在线人数统计》

    作者:sports98
编写日期: 2003-3-19
-->

上一篇:用PHP连mysql和oracle数据库性能比较
下一篇:PHP中上传大体积文件时需要的设置
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。