<?php
//is_robot関数の定義は一番下に
$countdat "counter_dat.txt";
$hostfile "counter_host.txt";
$host file($hostfile);
$n_host $_SERVER['REMOTE_ADDR'];
if(!
ereg("^192.168.11",$n_host) && !is_robot() && $host[0] != $n_host){
    
//LAN内でもなく、ロボットでもなく、前回と同じホストじゃない場合のみ処理。
    
$fp fopen($countdat "r+") or die("Error 1");
    
flock($fpLOCK_EX);
    
$count fgets($fp);
    
$count $count 1;
    
rewind($fp);
    
fputs($fp$count);
    
fclose($fp);

    
$fp fopen($hostfile,"w") or die("Error 2");
    
fputs($fp,$_SERVER['REMOTE_ADDR']);
    
fclose($fp);
}


//UserAgentをみてロボットかどうか判断する関数
function is_robot($ua){
    if(!
$ua){
        
$ua $_SERVER['HTTP_USER_AGENT'];
    }
    
$robot="/(ICC-Crawler|Teoma|Y!J-BSC|Pluggd\/Nutch|psbot|CazoodleBot|Googlebot|Antenna|BlogPeople|AppleWebKitOpenbot|NaverBot|PlantyNet|livedoor|msnbot|FlashGet|WebBooster|MIDown|moget|InternetLinkAgent|Wget|InterGet|WebFetch|WebCrawler|ArchitextSpider|Scooter|WebAuto|InfoNaviRobot|httpdown|Inetdown|Slurp|Spider|^Iron33|^fetch|^PageDown|^BMChecker|^Jerky|^Nutscrape|Baiduspider|TMCrawler)/m";
    
//$robotはレッツPHPさんのPHP Analyzerから拝借。
    //http://loglog.jp/~php/
    
if(preg_match($robot,$ua)){
        return 
true;
    }else{
        return 
false;
    }
}
?>