製作簡單 PHP 計數器

在網站上其中一樣最常見的程式是計數器,本文將會講述如何製作一個簡單的 PHP 計數器,包括文字及圖形兩種顯示模式。

準備工作
計數器的原理十分簡單,只要使用資料庫或文字檔儲存瀏覽人數,當有新訪客時便將人數加 1。因為只要單純紀錄瀏覽人數,所以會介紹使用使用文字檔,這樣即使沒有 MySQL 資料庫也可以做到。

首先建立一個文字檔,例如 “counter.dat”,裡面只包含一個數目字 “0”,記得要將它 chmod 777,這樣 php 才可更新人數。

文字計數器
現在開始了,以下是紀錄人數的例子:

以上程式碼會先取得 counter.dat 的內容並加 1,再將新結果寫入 counter.dat 內。
但這裡有兩個很大的問題,就是當兩個訪客同時間進入時,會產生數值歸零(雖然機會小,但對高流量網站很大機會發生),以及相同使用者 reload 時也會同樣計算在內,以下是修正以上問題的方法:


以上的 if(!isset($_COOKIE[‘visitor’])) 這句會檢查是否存在 $_COOKIE[‘visitor’] 變數,如果不存在的話才寫入紀錄。
flock($fp, LOCK_EX); 是將 counter.dat 鎖定,避免其他程式寫入檔案。
flock($fp, LOCK_UN); 就是解除先前的鎖定。

圖形計數器
上面的程式碼已經可以製作一個簡單的計數器,但只是文字,如果想改由圖片顯示的話,先要用圖像編輯軟件製作 0 至 9 的圖片,名稱分別是 0.gif, 1.gif, 2.gif …… 9.gif。
然後將檔案放到 images 目錄,並將以上程式碼改成:

注意事項
不論是文字顯示或圖片顯示,以上的程式碼由第 1 行到第 12 到均需放置在頁面的最頂部,不然會發生錯誤。而第 12 行以後的內容就是顯示人數的地程式碼,需放到想要顯示的地方。


Leave a Reply