本文分享一个php实现的简单计数器代码,将访问计数写在文本文件中,并实现了一个图像计数器,有兴趣研究php计数器的朋友,本文实在值得参考。 1,php文本计数器 复制代码 代码示例://counter_…,

本文分享一个php实现的简单计数器代码,将访问计数写在文本文件中,并实现了一个图像计数器,有兴趣研究php计数器的朋友,本文实在值得参考。

1,php文本计数器
 

//counter_simple.php: 简单计数器
<html>
<head><title>php文本计数器-www.90codes.com</title>
</head>
<body>
<?
$count_num=0;      
// 如果存放计数器文件已经存在,读取其中的内容
if(file_exists("counter.txt"))
{     
   /******************************
   以只读方式打开counter.txt文件    
   counter.txt用来存放计数器的值    
   *******************************/ 
   $fp = fopen("counter.txt", "r"); 
   //读取计数器的前8位数字    
   $count_num = fgets($fp,9); 
   //浏览次数加一 
   $count_num++;  
   //关闭文件     
   fclose($fp);   
}     
      
/***************************  
以只写的方式打开counter.txt文件     
把最新的计数值放入该文件中    
****************************/ 
$fp = fopen("counter.txt", "w");    
      
//写入最新的值    
fputs($fp, $count_num);       
      
//关闭文件        
fclose($fp);      
      
for($i=1;$i<6;$i++)           
{     
  echo "<p>&nbsp</p>/n";//显示空行  
}     
      
//浏览器输出浏览次数          
echo "<h2 align=center>您好!第&nbsp<I>$count_num</I>&nbsp位顾客!</h2>";
?>
</body>
</html>

2,//counter_graph.php:图象计数器
 

<?          
/*********************************        
定义本程序的输出是一幅图象    
而且这副图象是gif格式的       
浏览器使用本程序产生的图象    
*********************************/        
Header("Content-type: image/gif");       
//变量$count_length是需显示的位数
$count_length=8;
//$str是需要显示的计数值      
$str=0;
// 如果存放计数器文件已经存在,读取其中的内容         
if ( file_exists("counter.txt") )         
{           
   /******************************        
   以只读方式打开counter.txt文件          
   counter.txt用来存放计数器的值          
   *******************************/       
  $fp = fopen("counter.txt", "r");        
  $str = fgets($fp,$count_length+1);      
  fclose($fp);    
}          
$str++;    
/***************************  
以只写的方式打开counter.txt文件           
把最新的计数值放入该文件中    
****************************/ 
$fp = fopen("counter.txt", "w");          
fputs($fp, $str); 
fclose($fp);
$str_0 = $str;//$str_0存放计数值前面补0后的字符串    
$len_old = strlen($str);//$len_old存放原有计数值的位数
/**************************** 
如果原有计数值的位数不足,     
则在它的前面加0补齐           
****************************/ 
for ($i=$len_old+1;$i<=$count_length;$i++)
{           
  $str_0 = "0".$str_0;        
};         
$font = 3;//定义字号         
$im = imagecreate($count_length*11-1,16); 
//新建图象 
$black = ImageColorAllocate($im, 0,0,0);//黑色        
$white = ImageColorAllocate($im, 255,255,255);//白色  
//定义颜色 
//把计数器的底色设置成黑色    
imagefill($im, 0,0,$black);  
/**********************       
用白色显示计数器的值,         
在每个数字之间都用线分隔      
***********************/      
ImageString($im,$font,1,0,$str_0[0],$white);          
for ($i=1;$i<=$count_length-1;$i++) {     
imageline($im, $i*11-1,0,$i*11-1,16, $white);         
ImageString($im,$font,$i*11+1,0,$str_0[$i],$white);   
};         
ImageGif($im);//输出gif图像文件          
ImageDestroy($im);//释放该图像文件        
?>