以前写的,不知道合适不合适,是文本形式的 
<?php
$counterFile="counter.txt";
$counterData=file($counterFile);
$sign=False;
for($i=0;$i<count($counterData);$i++)
 {
   $varArray=explode("|",$counterData[$i]);
   if ($varArray[0]==$PATH_INFO)
     {
       $varArray[1]++;
       print($varArray[1]);
       $counterData[$i]=implode("|", $varArray);
       $sign=True;
       break;
       }
  }
$data=implode("",$counterData);
$fp=fopen($counterFile,"w");
fputs($fp,$data);
if (!$sign)
  {
fputs($fp,"\n$PATH_INFO"."|"."1"."|");
    print("1"); }
    fclose($fp);
?>

解决方案 »

  1.   

    有日期的计数器。 
    本来不打算拿来出丑的,只是这里人气有点不旺,还请大家多多努力。 
    每月一个文件,存储这个月中每天的访问量. 
    <?php 
    $x=date("n"); 
    $y=date("j"); 
    $fname="count".$x.".txt"; 
    if(!file_exists($fname)) 

    $fp=fopen($fname,"a+"); 
    echo "文件不存在,创建"; 
    if($fp) 

    $content=$y."|"."1"."#"; 
    $result=fwrite($fp,$content); 
    fclose($fp); 


    else 

    $fp=fopen($fname,"r"); 
    if($fp) 

    $total=fread($fp,filesize($fname)); 
    $row=explode("#",$total); 
    $num=count($row)-1; 
    $i=0; 
    while($i<$num) 

    $content=explode("|",$row[$i]);//读出所有记录 
    if($content[0]==$y)//是否为当前日期,将访问量加1 

    $content[1]+=1; 
    $sign="yes"; 
    $count=$content[1]; 
    $record.=$content[0]."|".$content[1]."#"; 

    else 

    $record.=$content[0]."|".$content[1]."#"; 

    $i++; 

    if($sign!="yes") 
    $record.=$y."|"."1"."#"; 
    echo $y."日".$count; 
    $fp=fopen($fname,"w"); 
    $result=fwrite($fp,$record); 
    if($result) 
    echo "successful!"; 
    else 
    echo "false"; 
    fclose($fp); 


    ?>