<?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($fp, LOCK_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;
	}
}
?>
