用PHP製作動態計數器

來源:互聯網
上載者:User
  PHP的功能非常強大,你可以利用它做幾乎任何事。不需要複雜的變數和代碼,你就可以非常迅速地做出漂亮的計數器來。下面,就讓我們一步一步的來做。
  其實,計數器的原理大家都知道,首先,確定一個記錄檔案,例如counter.txt或counter.log,每一次訪問這個頁面,就對這個檔案加1,然後把結果顯示出來。因此,我們的PHP代碼開始應該是這樣的:
<?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=($%$43%^#ASD#2@$#f$%^)0($%$43%^#ASD#2@$#f$%^) height=($%$43%^#ASD#2@$#f$%^)5($%$43%^#ASD#2@$#f$%^) align=($%$43%^#ASD#2@$#f$%^)center($%$43%^#ASD#2@$#f$%^)><tr><td bgcolor=($%$43%^#ASD#2@$#f$%^)#bab389($%$43%^#ASD#2@$#f$%^) align=($%$43%^#ASD#2@$#f$%^)center($%$43%^#ASD#2@$#f$%^)>歡迎您,第");
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.