This counter can be customized to any number of digits and, when available for free, can display a simple ad.
When running, you need to create a directory datas in the counter directory that the nobody account has the right to overwrite.
The actual running example is in
http://www.hnpts.ha.cn/freecount.htm
Header("Content-type: image/png");
if ($user=="") $user="test";
$fn="datas/". $user.".txt";
if ($bit=="") $bit=8; //Take the default value
if (is_readable($fn)) {$f=fopen($fn, "r");
$c=fgets($f,255);fclose($f);} //Read the original count value
else $c="0"; //New user
$l=strlen($c); //Calculate the actual value length
$cnt="";
for ($i=0;$i<$bit-$l;$i++) $cnt .="0";//Add "0" in front to make up the specified number of digits
$cnt.=$c;$c1=intval($c);$c1++;
$f=fopen($fn ,"w");fputs($f,$c1);fclose($f); //Write back
$font=20;
if (($c1%10==9)&&($ user!="test")) {$cnt="www.hnpts.ha.cn";$font=16;}
//Display ads when conditions are met
$s=ImageTTFBBox($font,0 ,"times.ttf", $cnt);
$x=abs($s[4])+8;$y=abs($s[5])+7;
$im = imagecreate( $x,$y);
$black = ImageColorAllocate($im, 0,0,0);
$white = ImageColorAllocate($im, 255,255,255);
if ($font==20) {$green = ImageColorAllocate($im, 0,255,0);
imagerectangle($im,1,1,$x-2,$y-2,$white);}
else $green = ImageColorAllocate( $im, 255,255,255);
ImageTTFText($im,$font,0, 3,$y-5, $green, "times.ttf", $cnt);
ImagePng($im);
ImageDestroy($im);
?>