首頁 > 後端開發 > php教程 > 利用文件属性结合Session实现在线人数统计

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-01 14:28:43
原創
857 人瀏覽過

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 "当前在线$online";
ob_end_flush();
?>

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板