用PHP制作動態計數器

發表于:2007-09-07來源:作者:點擊數: 標簽:
PHP是現在流行的 服務器 端 腳本語言 ,它的功能非常強大,你可以利用它做幾乎任何事。不需要復雜的變量和代碼,你就可以非常迅速地做出漂亮的計數器來。下面,就讓我們一步一步的來做。 其實,計數器的原理大家都知道,首先,確定一個記錄文件,例如counter
  PHP是現在流行的服務器腳本語言,它的功能非常強大,你可以利用它做幾乎任何事。不需要復雜的變量和代碼,你就可以非常迅速地做出漂亮的計數器來。下面,就讓我們一步一步的來做?! ?

  其實,計數器的原理大家都知道,首先,確定一個記錄文件,例如counter.txt或counter.log,每一次訪問這個頁面,就對這個文件加1,然后把結果顯示出來。因此,我們的PHP代碼開始應該是這樣的:

  
  $countfile = "js/counter.inf";

  //定義計數器寫入的文件是當前目錄下JS目錄中//counter.inf,然后我們應當測試該文件能否打開

  if (($fp = fopen($countfile, "r+")) == false) { //用讀寫模式打開文件,若不能打開就退出

  printf ("Open file %s failed!",$countfile);

  exit;

  }

  else

  {

  //如果文件能夠正常打開,就讀入文件中的數據,假設是1

  $count = fread ($fp,10);

  //讀取10位數據

  $count = $count + 1;

  //count ++

  fclose ($fp);

  //關閉當前文件

  $fp = fopen($countfile, "w+")

  //以覆蓋模式打開文件

  fwrite ($fp,$count);

  //寫入加1后的新數據

  fclose ($fp);

  //并關閉文件

  }

  這時,整個計數工作就完成了,如果只是簡單的文字計數的話,在這里就可以輸出變量$count的值。下面是將$count轉換為圖片模式的代碼:   

  $fp = fopen ($countfile, "r"); //以只讀模式打開文件

  $array_count = 1; //定義一個表示數組元素位置的變量,下面要用

  while (! feof($fp)) {

  $current_number = fgetc($fp);

  $counter_array[$array_count] = $current_number;

  $array_elements = count ($counter_array);

  $array_count = $array_count + 1;

  }   

  上面這個while循環的作用是把每一位數分離出來。它從counter.inf中由左到右逐位讀取數值,并依次寫入一個叫counter_array的數組中,這個數組的索引是從1開始的($array_count)。如果現在counter.inf中的數字是158,那么數組$counter_array[]就像這樣:$counter_array[1] = 1、$counter_array[2] = 5、$counter_array[3] = 8。有了上面這些工作,我們就可以方便地顯示不同的數字圖片了,顯示代碼如下:   

  echo ("<table border=\"0\" height=\"5\" align=\"center\"><tr><td bgcolor=\"#bab389\" align=\"center\">歡迎您,第");

  for ($array_id = 1;$array_id < $array_elements; ++ $array_id) {

  echo ("<img src=\"images\\counter\\$counter_array[$array_id].gif\" align=absmiddle>");

  }

  echo ("位客人</td></tr></table>");

  }

  上面的代碼很簡單,就是畫一個表格,并依次在表格中顯示所需的圖片。在\images\counter目錄下有0.gif至9.gif十張圖片,for循環遍歷數組,從高位到低位給出每一位數相應的圖片,直到數組的尾部。這樣,一個完整的計數器就完成了。


原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97