用php來實現計數器很簡單,計數器的實現分為兩個階段:一是實現計數;二是實現數字的顯示;而在實現計數時又有兩種方式:一是基於檔案的計數方式;二是基於資料庫的計數方式。而在實現數字的顯示也有兩種方式:一是普通的文字顯示;二是圖形方式顯示。下面就將這四種情況作一介紹:
一、計數
1.基於檔案的計數
在這種方式下,用乙個檔案來存放訪問數,這要求有乙個許可權至少為007的目錄,這樣httpd程序才能建立及寫檔案,你可以在你自己所擁有的目錄中新建乙個子目錄,比如:visit_log,將其許可權改為777。下面就是實現以檔案計數的**:
if(!
file_exists
("visit_log/counter.txt"
)) //檢查counter.txt檔案是否存在,如果不存在則新建乙個檔案,並且寫入「00001」。
else
$fp=
fopen
("visit_log/counter.txt"
,"w"
);
fwrite
($fp
,$counter
);
fclose
($fp
);
} ?>
以上**就是基於檔案計數的,不知道你有沒有發現乙個問題,即只要有人訪問該頁,無論他是重新整理還是從你的**的其它頁跳轉到該頁,就會使數值加1,從而使主頁計數失去了真實性。那麼,這又怎麼辦呢?其實,有乙個很簡單的辦法,即在返回到首頁的鏈結上加上乙個引數visited=1,比如:index.php?visited=1,在計數之前首先檢查visited變數是否已賦值,若未賦值,計數器加1。當然,我們需要修改上面標註「---------------」的**:
if(empty($visited))
2.基於資料庫的計數
我在這裡選擇的資料庫是mysql。我們首先要建乙個資料庫visit_log,然後在該資料庫中建立乙個表visit_counter,為了實現基本的計數功能,僅需要乙個字段即可amount。操作如下:
(1)建立資料庫visit_log
mysqladmin create visit_log –u root –p
正確輸入root的密碼後就可以建立visit_log資料庫了。
(2)建立表visit_counter
mysql visit_log –u root –p
mysql>create table visit_counter (amount int(6));
mysql>insert into visit_counter(amount) values(0);
以下就是實現以資料計數的**:
$cn=
mysql_connect
("localhost"
,"root"
,"******"
);
mysql_select_db
("visit_log"
,$cn
);
$sql
="select * from visit_counter"
; $result
=mysql_query
($sql
,$cn
);
$record
=mysql_fetch_array
($result
);
if(empty(
$visited
))
mysql_close
($cn
);
switch(
strlen
($counter
))?>
echo
$counter
;?>
$cn=
mysql_connect
("localhost"
,"root"
,"******"
);
mysql_select_db
("visit_log"
,$cn
);
$sql
="select * from visit_counter"
; $result
=mysql_query
($sql
,$cn
);
$record
=mysql_fetch_array
($result
);
if(empty(
$visited
))
mysql_close
($cn
);
switch(
strlen
($counter
))
header
("content-type: image/gif"
);
$pic
=imagecreate(50
,17); //建立影象
$bkcolor
=imagecolorallocate
($pic,0
,0,0
); //定義背景色
$fcolor
=imagecolorallocate
($pic,0
,255,0
); //定義字型顏色
imageline
($pic,0
,0,50
,17,$bkcolor
);
imagestring
($pic,3
,1,1
,$counter
,$fcolor
);
imagegif
($pic
);
imagedestroy
($pic
);
?>
接著,在你想使用計數器的地方插入:
利用資料庫你可以寫出乙個功能強大的計數系統。比如,記錄每一天的訪問量、記錄每一使用者的訪問次數等等。
用Perl製作頁面計數器
計數器可以用資料庫方式實現,也可以用文字檔案方式實現。由於文字檔案方式不涉及系統的資料庫管理系統,相對簡單,容易實現,因此,在這裡介紹文字方式的計數器。計數器的原理比較簡單,頁面每次被訪問的時候,對記錄訪問次數的數字加1,然後將這個數顯示出來。原理雖然簡單,在具體實現上還是需要一定的技巧。由於乙個c...
用Flash結合ASP製作計數器
blackflash 雖然現在有很多 提供免費的計數器,如果自己能動手做乙個不是更好嗎?所以今天我就教大家通過flash結合asp來製作計數器。1 新建乙個檔案,把當前層命名為 背景 可以自己選擇顏色,你也可以在此層中加入movie clip,這樣可以讓你的計數層更加動感,這可是文字計數器不可能實現...
計數器 通用計數器的應用價值
隨著科學技術發展,一些應用系統,如大型通訊系統,電力系統,特別是高速運動目標的跟蹤定位系統,對時間間隔的測量精度提出了越來越高的要求,同時我國對時間間隔計數器的應用掌控性,更傾向於依賴於國產裝置實現數字式頻率計的研發。雖然通用計數器測量週期誤差不可能從根本上消除,但通過對轉換誤差 量化誤差及各類誤差...