PHP制作動(dòng)態(tài)計(jì)數(shù)器的具體使用方法
我們?cè)趧?chuàng)建網(wǎng)站的時(shí)候,通常都會(huì)有在網(wǎng)頁(yè)中添加計(jì)數(shù)器的功能,今天在這篇文章中我們將為大家具體介紹PHP制作動(dòng)態(tài)計(jì)數(shù)器的相關(guān)功能。
PHP的功能非常強(qiáng)大,你可以利用它做幾乎任何事。不需要復(fù)雜的變量和代碼,你就可以非常迅速地做出漂亮的計(jì)數(shù)器來(lái)。下面,就讓我們一步一步的來(lái)做。
其實(shí),PHP制作動(dòng)態(tài)計(jì)數(shù)器的原理大家都知道,首先,確定一個(gè)記錄文件,例如counter.txt或counter.log,每一次訪問(wèn)這個(gè)頁(yè)面,就對(duì)這個(gè)文件加1,然后把結(jié)果顯示出來(lái)。因此,我們的PHP代碼開(kāi)始應(yīng)該是這樣的:
- < ?PHP
- $countfile = "js/counter.inf";
- //定義計(jì)數(shù)器寫(xiě)入的文件是當(dāng)前目錄下JS目錄中
//counter.inf,然后我們應(yīng)當(dāng)測(cè)試該文件能否打開(kāi)- if (($fp = fopen($countfile, "r+")) == false)
{ //用讀寫(xiě)模式打開(kāi)文件,若不能打開(kāi)就退出- printf ("Open file %s failed!",$countfile);
- exit;
- }
- else
- {
- //如果文件能夠正常打開(kāi),就讀入文件中的數(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+")
- //以覆蓋模式打開(kāi)文件
- fwrite ($fp,$count);
- //寫(xiě)入加1后的新數(shù)據(jù)
- fclose ($fp);
- //并關(guān)閉文件
- }
這時(shí),整個(gè)PHP制作動(dòng)態(tài)計(jì)數(shù)器的工作就完成了,如果只是簡(jiǎn)單的文字計(jì)數(shù)的話,在這里就可以輸出變量$count的值。下面是將$count轉(zhuǎn)換為圖片模式的代碼:
- $fp = fopen ($countfile, "r");
//以只讀模式打開(kāi)文件- $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ù)值,并依次寫(xiě)入一個(gè)叫counter_array的數(shù)組中,這個(gè)數(shù)組的索引是從1開(kāi)始的($array_count)。如果現(xiàn)在counter.inf中的數(shù)字是158,那么數(shù)組$counter_array[]就像這樣:$counter_array[1] = 1、$counter_array[2] = 5、$counter_array[3] = 8。有了上面這些工作,我們就可以方便地顯示不同的數(shù)字圖片了,PHP制作動(dòng)態(tài)計(jì)數(shù)器顯示代碼如下:
- 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$%^)
- >歡迎您,第");
- for ($array_id = 1;$array_id < $array_elements; ++ $array_id) {
- echo ("<img src=http://www.asp315.com
/news/2/($%$43%^#ASD#2@$#f$%^)images
//counter//$counter_array[$array_id].gif($%$43%^#ASD#2@$#f$%^)
align=absmiddle>");- }
- echo ("位客人</td></tr></table>");
- }
上面的PHP制作動(dòng)態(tài)計(jì)數(shù)器代碼很簡(jiǎn)單,就是畫(huà)一個(gè)表格,并依次在表格中顯示所需的圖片。在\images\counter目錄下有0.gif至9.gif十張圖片,for循環(huán)遍歷數(shù)組,從高位到低位給出每一位數(shù)相應(yīng)的圖片,直到數(shù)組的尾部。這樣,一個(gè)完整的計(jì)數(shù)器就完成了。