本款計數器用文本計數。沒有用到數據庫,可以實現如下功能:
利用一個文本文件實現多個頁的計數減少服務器的I/O占用率在需要紀錄的文件里,只需加入很少的幾行代碼
基本思路如下:
服務器程序從文本文件中讀取該頁被瀏覽的次數,(因為所有文件向服務器提出請求時,他們的環境變量REQUEST_URI都代表他來自于何處... ...,所以,以請求文件的環境變量REQUEST_URI來辨別到底是那一頁正被瀏覽。),將這個次數加一儲存,并在調用這頁的用戶的計算機上顯示出來。
請先看我的數據文本中紀錄的數據樣本,(紅色為瀏覽次數,其前面為相應的被瀏覽的文件)
counter.php
| 以下為引用的內容: <html> |
我們已經看到了這段程序的工作過程,也都知道了思路,但如果,每個文件里都這樣寫,豈不是太麻煩。
別慌!我們還有PHP提供的強大的require()功能呢! 我們把counter.php寫成函數,使用就方便許多了。那還等什么,下面就是你所要的函數:
counter.inc
| 以下為引用的內容: <?php |
最好的檢驗方法就是“實踐”,好了來看我們怎樣調用它,先看一個例子:
counterTest.php
| 以下為引用的內容: <?php |
您只需在要計數的HTML文件的文件頭加入require()函數,引入counter()函數為homepage的一部分。在需要的地方加入<? counter();?>就可以了。
還有幾點要注意的問題:
1、記錄數據的文件一定要有“寫”的權限,一般設成“666”即可,如果該文件存放在一個子目錄下,則對這個“目錄”也要有“寫”的權限;
2、我在調試過程中遇到這樣一個問題,我將counter.inc和counter.dat放在一個子目錄include下面,然后在不同的子目錄下面用require()函數進行調用,格式如下:
| 以下為引用的內容: <?php |
可是總是出現“權限不夠”的錯誤,如有高手請指教。
新聞熱點
疑難解答