当前位置: 首页 > 图文教程 > 网络编程 > PHP > 一个自定义位数的多用户计数器

PHP
php header 详细使用说明与使用心得
php利用header函数实现文件下载时直接提示保存
php $_SERVER当前完整url的写法
PHP 配置open_basedir 让各虚拟站点独立运行
PHP 程序员的调试技术小结
php 静态变量的初始化
php与XML、XSLT、Mysql的结合运用实现代码
php+javascript的日历控件
php 引用(&)详解
PHP小程序自动提交到自助友情连接
PHP 单引号与双引号的区别
PHP 递归效率分析
PHP 进程锁定问题分析研究
phplock(php进程锁) v1.0 beta1
php Memcache 中实现消息队列
MYSQL 小技巧 -- LAST_INSERT_ID
Ajax+PHP 边学边练 之二 实例
php 运行效率总结(提示程序速度)
Ajax PHP 边学边练 之三 数据库
在mysql数据库原有字段后增加新内容

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 51 ::
收藏到网摘: n/a

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

?>