最简单的PHP程序--记数器

  原理:

  1.第一位使用者浏览某页。

  2.伺服器程式从资料库或档案中读取该页被浏览次数。

  3.将次数加一储存,并将它送回第一位使用者。

  4.第二位使用者浏览某页。

  5.伺服器程式从资料库或档案中读取该页被浏览次数。

  6.将次数再加一储存,并将它送回第二位使用者。

  需要了解的函数:

  fopen()打开文件

  filesize()获得文件大小

  fseek()移动文件指针

  fgets()得到文件指针所在行内容

  fputs()将字串写如文件指针所在位置

  fclose()关闭文件

  file_exists()判断文件是否存在

  exec()执行外部程序

  最简单的记数器:

  <html>

  <head>

  <title>访客计数器 原型</title>

  </head>

  <body>

  <?php

  /*

  (c)1998 David W. Bettis

  这里是版权信息

  */

  $counterFile = "counter.txt";

  #这里是定义记数器文件

  function displayCounter($counterFile) {

  $fp = fopen($counterFile,"rw");

  #打开文件,用读写方式

  $num = fgets($fp,5);

  #取得当前数字

  $num += 1;

  #加1

  print "您是第 "."$num"." 位无聊份子";

  exec( "rm -rf $counterFile");

  exec( "echo $num > $counterFile");

  #偷懒的方式哦,不使用fputs写入

  }

  if (!file_exists($counterFile)) {

  exec( "echo 0 > $counterFile");

  }#如果记数器文件不存在,新建它并设置内容为0

  displayCounter($counterFile);

  ?>

  </body>

  </html>

  PHP记数器比较简单版:

  <?

  #版权没有啦,这么简单

  $fp=fopen("counter.txt","r+");

  flock($fp,3);

  #打开记数器文件并锁住

  $fsize=filesize("count.txt");

  $count=fgets($fp,$fsize+1);

  $count++;

  #取得数码并加一

  fseek($fp,0);

  fputs($fp,$count);

  fclose($fp);

  #将新数码写入文件

  echo "你是第 $count 位访问者";

  ?>

  PHP记数器图形版:

  制作10个图片,将数字串用图片组起来,我就不细说了

  假设图片为0.gif ~ 9.gif

  <?

  ....$count为取得的数值

  $strcount=strval($count);

  $strcount=chop($strcount);

  $countlen=$strlen($strcount);

  $shtml="";

  for ($i=0; $i<$countlen; $i++) {

  $shtml.="<img src='";

  $shtml.=$strcount[$i];

  $shtml.=".gif'>";

  }

  echo $shtml;

  ?>

  PHP记数器数据库版:

  使用SQL记数器,先建好表

  CREATE TABLE counter

  (

  counter int not null,

  id �����int not null

  )

  INSERT INTO counter(counter,id) VALUE(0,1)

  <?

  $conn=mysql_connect(..., ..., ...);

  #MySQL数据库连接

  $sql="select * from counter";

  $result=mysql_query($sql,$conn);

  $objresult=mysql_fetch_object($result);

  $count=$objresult->counter;

  $count++;

  $sql="update counter set counter=".$count."where id=1";

  mysql_query($sql,$conn);

  mysql_close($conn);

  echo "你是第$count位访客";

  ?>