現在,上網的人越來越多,許多網友嘗試著制作自己的主頁,訪客計數器是必不可少的一部分。雖然很多網站提供免費的計數器,可究竟不是自己親手制作的?有的朋友可能認為它很難,不敢去嘗試,其實有了PHP這個工具,它並不難,甚至可以說它很輕易。
首先,讓我來談一談訪客計數器的思路:一位訪問者浏覽此頁,服務器(如Apache)從一個文檔(下文以num.txt為例)中讀取該頁已被浏覽的次數,加一,然後存回num.txt,並在浏覽器中顯示加一後的次數。 假如又一位訪問者浏覽此頁,服務器又重復上述過程,從而實現了訪客計數器。
PHP沒有直接的計數器函數,但利用它強大的功能,我們可以很輕易地自己編寫一個計數器。
現對程序需要用到的函數進行說明:
1. 打開文件操作:int fopen(string filename, string mode);
其中string filename 是要打開的文件名,必須為字符串形式。例如"num.txt"。
string mode 是打開文件的方式,必須為字符形式。
’r’,只讀形式,文件指針指向文件的開頭。
’r ’,可讀可寫,文件指針指向文件的開頭。
’w’,只寫形式,文件指針指向文件的開頭,把文件長度截成0,假如文件不存在,將嘗試建立文件。
’w ’,可讀可寫,文件指針指向文件的開頭,把文件長度截成0,假如文件不存在,將嘗試建立文件。
’a’,追加形式(只可寫入),文件指針指向文件的最後,假如文件不存在,將嘗試建立文件。
’a ’,可讀可寫,文件指針指向文件的最後,假如文件不存在,將嘗試建立文件。
2. 讀文件操作:string fgets(int fp, int length);
其中 int fp 是要讀入數據的文件流指針,由fopen函數返回數值。
int length 是要讀入的字符個數,實際讀入的字符個數是length-1。
3. 寫文件操作:int fputs(int fp, string str, int [length]);
其中int fp 是要寫入信息的文件流指針,由fopen函數返回數值。
string str 是要寫入文件的字符串。
int length 是寫入的長度,可選,假如不選length,則整個串將被寫入。否則,寫入length長度個字符。
4. 關閉文件操作:int fclose(int fp);
其中int fp是fopen函數返回的文件流指針。
下面,我們來看一下計數器的原型:(假設num.txt文件存在)
<?php
$fp = fopen("num.txt", "r");
//只讀方式打開num.txt文件
$num = fgets($fp,5);
//讀取4位數字
$num ;
//浏覽次數加一
fclose($fp);
//關閉文件