求各位高手给段代码:
     实现页面计数的计数器,要求当刷新页面时,不增加计数

解决方案 »

  1.   

    #!/usr/local/bin/perl
    #存贮表示主页访问量数字的文件
    $data = '/usr/local/etc/httpd/htdocs/counter.data';
    #用作文件锁的临时文件
    $lockfile = '/usr/local/etc/httpd/htdocs/counter.LOCK';
     
    # 主模块
    &increment;
    print "Content-Type: text/html\n\n";
    print $accesses;
     
    sub increment {
     # 检查临时文件是否存在
      while (-e $lockfile) {
       sleep 2; # 存在则等待2秒
      }
      # 创建临时文件
      open(LOCK," >$lockfile") || die 
    "Can't create lockfile.\n";
      # 读文件并更新数据
      open(DATA,$data) || die "Can't open data file.\n"; 
      $accesses = < DATA >;
      $accesses++;
      print DATA "$accesses\n";
      close(DATA);
      # 删除临时文件,对数据文件开锁
     close(LOCK);
      unlink($lockfile);
    } 你可以在页面上需要显示计数器的地方加上下面的HTML代码,页面被访问的时候,来访者就可以知道自己是第几位来访者了。 
    < html > < head >
    < title >Home Page< /title >
    < /head >
     
    < body >
    < h1 >Home Page< /h1 >
     
    < p >欢迎您!第
    < !--#exec cgi="/cgi-bin/text-counter.cgi" >
    位来访者.< /p >
     
    < /body > < /html >