<?php
/* 何人みてる?
 *               byToR   http://php.s3.to
 *
 * 現在ページにアクセスしている人数を表示します */

/* 参加者ログ(自動作成します)*/
define(USR_LST"user.dat");
/* リストに何秒間残すか */
define(TIMEOUT300);

function 
CheckUser($addr){
  
$usr_arr file(USR_LST);
  
$fp fopen(USR_LST"w");
  
$now time();
  for(
$i 0$i sizeof($usr_arr); $i++){
    list(
$ip_addr,$tim_stmp) = explode("|"$usr_arr[$i]);
    if((
$now-$tim_stmp) < TIMEOUT){
      if(
$ip_addr != $addr){
        
fputs($fp"$ip_addr|$tim_stmp");
      }
    }
  }
  
fputs($fp"$addr|$now\n");
  
fclose($fp);
}

function 
UserCount(){
  
$usr_arr file(USR_LST);
  return 
sizeof($usr_arr);
}

if(!
file_exists(USR_LST)){
  
$nf fopen(USR_LST"w");
  
fclose($nf);
}

CheckUser($REMOTE_ADDR);
echo 
UserCount();
?>