一个自定义位数的php多用户计数器代码

时间:2021-05-25

此计数器能够自定义任意位数,而且在免费提供的时候能够显示一个简单的广告。
运行的时候需要在计数器目录下创建一个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($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);
?>

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章