昨日今日カウンタ
1.SampleTotal: 01146 Today: 001 Yesterday: 000
2.ソース
このソースを、カウンタを表示させたいところに挿入し、データファイルをアップロードしてください。
その後、データファイルのパーミッションを606に設定してください。
<?php
$filename = "./count.dat"; // データファイル名
$keta = 5; //カウンタ表示桁数
$keta2 = 3; //今日昨日のカウンタ表示桁数
$file = fopen($filename,"r+");
$buffer = fread($file,filesize ($filename));
list($count,$ip,$tday,$tcount,$ycount) = explode("<>",$buffer);
$myip = getenv("HTTP_X_FORWARDED_FOR");
if($tday == date("ymj",mktime(0,0,0,date("m"),date("d")-1,date("y")))){ //tdayが昨日だったときの処理
$ycount = $tcount;
$tcount = 0;}
elseif($tday != date("ymj")){ //tdayが昨日以前だったときの処理
$tcount = 0;
$ycount = 0;}
if($myip != $ip){ //同一IPでなければカウントアップ
$count++;
$tcount++;
$tday = date("ymj");
ftruncate($file,0);
rewind($file);
flock($file,LOCK_EX);
fwrite($file, $count."<>".$myip."<>".$tday."<>".$tcount."<>".$ycount);
flock($file,LOCK_UN);
fclose($file);
}
$count = sprintf("%0".$keta."d",$count);
$tcount = sprintf("%0".$keta2."d",$tcount);
$ycount = sprintf("%0".$keta2."d",$ycount);
//表示部
echo "Total: $count Today: $tcount Yesterday: $ycount";
?>