php实现计数器功能

?php/****计数器(v1.1.0)**Version:1.1.0*Author:村长*PHP:4.3**/classCounter{var$CountFolder;var$countType;var$showtype;var$imgArray;functionCounter(){$this-countType=0;$this-showtype=GetCountByDay;$this-imgArray=array();$this-MakeCounter();}functionMakeCounter(){$this-CountFolder=log/.date(Ymd);if(!is_dir($this-CountFolder)){mkdir($this-CountFolder,0777);}$this-_DoCount();}//Savedatafilefunction_澳门新葡亰网站注册,DoCount(){$file=date(Ymd).ip2long($_SERVER[‘REMOTE_ADDR’])..txt;if(!file_exists($this-CountFolder./.$file)){$fp=@fopen($this-CountFolder./.$file,wb+);//这里可以保存其他需要的日志记录@fputs($fp,$_SERVER[‘REMOTE_ADDR’]);@fclose($fp);}}//获得指定时间的统计数据//默认为1天0为取所有functionGetCountByDay($day=1){//今日的时间戳$today=strtotime(date(Y-m-d));$all=0;for($i=$day;$i=0;$i–){$tsp=$today-(86400*$i);$folder=log/.date(Ymd,$tsp)./*.txt;$ta=glob($folder);$all=$all+count($ta);}return$all;}functionGetCountUseImg($day=1){$allnumber=$this-GetCountByDay($day);for($i=0;$istrlen($allnumber);$i++){$idx=substr($allnumber,$i,1);$returnVal.=sprintf(imgsrc=/%s/,$this-imgArray[$idx]);}return$returnVal;}functionSetStyle($style=”,$ext=gif){$imgprefix=img/;$folder=$imgprefix.$style;foreach(range(0,9)as$num){$this-imgArray[$num]=$folder./.$num..$ext;}if(is_dir($folder)){$this-showtype=GetCountUseImg;}else{$this-showtype=GetCountByDay;}}functionShow($day=0){return$this-{$this-showtype}($day);}}//实例计数器对象$counter=newCounter();//采用sports98样式显示,告知默认扩展名为png格式$counter-SetStyle(sports98,png);echobr/今日访问:.$counter-Show(0);//采用S1样式显示,默认扩展名为gif$counter-SetStyle(s1);echobr/近3日访问:.$counter-Show(2);//—-只显示文字的计数器$counter-SetStyle(-);echobr/近3日访问:.$counter-Show(2);?