自定义位数的多用户计数器
此计数器能够自定义任意位数,而且在免费提供的时候能够显示一个简单的广告。
运行的时候需要在计数器目录下创建一个nobody帐户有权改写的目录datas.
实际运行的例子在
http://www.hnpts.ha.cn/freecount.htm
<?
Header
("Content-type: image/png");
if (
$user==""$user="test";
$fn="datas/".$user.".txt";
if (
$bit==""$bit=8;   //取默认值
if (is_readable($fn)) {$f=fopen($fn,"r");
                       
$c=fgets($f,255);fclose($f);} //读出原来的计数值
    
else $c="0"//新用户
$l=strlen($c);  //计算实际值长度
$cnt="";
for (
$i=0;$i<$bit-$l;$i++) $cnt.="0";//前面加“0”补足指定的位数
$cnt.=$c;$c1=intval($c);$c1++;
$f=fopen($fn,"w");fputs($f,$c1);fclose($f); //写回
  
$font=20;
if ((
$c1%10==9)&&($user!="test")) {$cnt="www.hnpts.ha.cn";$font=16;}
//达到条件就显示广告
$s=ImageTTFBBox($font,0,"times.ttf"$cnt);
$x=abs($s[4])+8;$y=abs($s[5])+7;
$im imagecreate($x,$y);
$black ImageColorAllocate($im0,0,0);
$white ImageColorAllocate($im255,255,255);
if (
$font==20) {$green ImageColorAllocate($im0,255,0);
                
imagerectangle($im,1,1,$x-2,$y-2,$white);}
else 
$green ImageColorAllocate($im255,255,255);
ImageTTFText($im,$font,03,$y-5$green"times.ttf"$cnt);
ImagePng($im);
ImageDestroy($im);

?>