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

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

此计数器能够自定义任意位数,而且在免费提供的时候能够显示一个简单的广告。

运行的时候需要在计数器目录下创建一个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);

?

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航