<?php 

// Spectator's Counter v. 1.2
//   . :  ,   ,    . 
// (C) Spectator.Ru 
//  php 4    (-  in_array). 
//    Windows -  flock 

//      ip-      
$COUNT_FILE = "count.txt"; 
$message="";

// $ip -     ;) 
$ip = getenv("REMOTE_ADDR")."::".getenv("HTTP_X_FORWARDED_FOR"); 

//  . -3  -      .     
$datum=date("d.m.Y", time()-3*3600); 



//   

$fp = fopen("$COUNT_FILE", "rb"); 
flock($fp,1); 
$contents=fread ($fp, filesize ($COUNT_FILE)); 
fclose ($fp); 

//  - ,   . 
$content= explode("\n",$contents); 
$counts= explode("|",$content[0]); 
$counts[3]=chop($counts[3]); 
if ($counts[3]=="") {$counts[3]="1";} 

//  ip- -  (    ),      +1   
if (!in_array ($ip, $content)) { $content[] = $ip; $counts[1]++; } 

//   
$counts[2]++; 
$counts[3]++; 

// . ;) 
if ($counts[0]!=$datum) { 
$message="total hits:    ".$counts[3]."\ntoday hits:    ".$counts[2]."\ntoday uniques: ".$counts[1];
$r11=$counts[1];
$r21=$counts[2];


//  . 
$counts[0]=$datum; $counts[1]=1; $counts[2]=1; 
 } 

//  
echo ("<b>".$counts[3]."</b><br>".$counts[2]."<br>".$counts[1]); 

//    
$content[0]=$counts[0]."|".$counts[1]."|".$counts[2]."|".$counts[3]; 
$fd = fopen("$COUNT_FILE", "a"); 
$locked = flock($fd,2); 
if ($locked) { 
$fp = fopen("$COUNT_FILE", "wb"); 

if ($message=="") { fwrite($fp, implode("\n",$content)); }
else  { fwrite($fp,$content[0]);  }

fclose($fp); 
} 
fclose($fd); 


///       (   )


if ($message!=""):

mail("your@mail.ru", "counter stat for today", $message, "From: spectator@mail.ru");

endif;

?>   

