用PHP製作自己的計數器

2021-04-12 23:00:22 字數 3139 閱讀 8176

用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,這樣可以讓你的計數層更加動感,這可是文字計數器不可能實現...

計數器 通用計數器的應用價值

隨著科學技術發展,一些應用系統,如大型通訊系統,電力系統,特別是高速運動目標的跟蹤定位系統,對時間間隔的測量精度提出了越來越高的要求,同時我國對時間間隔計數器的應用掌控性,更傾向於依賴於國產裝置實現數字式頻率計的研發。雖然通用計數器測量週期誤差不可能從根本上消除,但通過對轉換誤差 量化誤差及各類誤差...