明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

用PHP制作動(dòng)態(tài)計(jì)數(shù)器

[摘要]PHP是現(xiàn)在流行的服務(wù)器端腳本語(yǔ)言,它的功能非常強(qiáng)大,你可以利用它做幾乎任何事。不需要復(fù)雜的變量和代碼,你就可以非常迅速地做出漂亮的計(jì)數(shù)器來(lái)。下面,就讓我們一步一步的來(lái)做。  其實(shí),計(jì)數(shù)器的原理大家都知道,首先,確定一個(gè)記錄文件,例如counter.txt或counter.log,每一次訪問這個(gè)頁(yè)...
 PHP是現(xiàn)在流行的服務(wù)器端腳本語(yǔ)言,它的功能非常強(qiáng)大,你可以利用它做幾乎任何事。不需要復(fù)雜的變量和代碼,你就可以非常迅速地做出漂亮的計(jì)數(shù)器來(lái)。下面,就讓我們一步一步的來(lái)做。

  其實(shí),計(jì)數(shù)器的原理大家都知道,首先,確定一個(gè)記錄文件,例如counter.txt或counter.log,每一次訪問這個(gè)頁(yè)面,就對(duì)這個(gè)文件加1,然后把結(jié)果顯示出來(lái)。

  因此,我們的PHP代碼開始應(yīng)該是這樣的:

 。?PHP

  §countfile = "js/counter.inf";

  //定義計(jì)數(shù)器寫入的文件是當(dāng)前目錄下JS目錄中//counter.inf,然后我們應(yīng)當(dāng)測(cè)試該文件能否打開

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

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

   exit;

   }

   else

  {

  //如果文件能夠正常打開,就讀入文件中的數(shù)據(jù),假設(shè)是1

  §count = fread (§fp,10);

  //讀取10位數(shù)據(jù)

  §count = §count + 1;

  //count ++

  fclose (§fp);

  //關(guān)閉當(dāng)前文件

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

  //以覆蓋模式打開文件

  fwrite (§fp,§count);

  //寫入加1后的新數(shù)據(jù)

  fclose (§fp);

  //并關(guān)閉文件

  }

  這時(shí),整個(gè)計(jì)數(shù)工作就完成了,如果只是簡(jiǎn)單的文字計(jì)數(shù)的話,在這里就可以輸出變量§count的值。下面是將§count轉(zhuǎn)換為圖片模式的代碼:

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

  §array_count = 1; //定義一個(gè)表示數(shù)組元素位置的變量,下面要用

  while (! feof(§fp)) {

  §current_number = fgetc(§fp);

  §counter_array[§array_count] = §current_number;

  §array_elements = count (§counter_array);

  §array_count = §array_count + 1;

   }

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

  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="http://edu.chinaz.com/Get/Program/Php/images/counter/§counter_array[§array_id].gif" align=absmiddle>");

   }

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

   }

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