用Perl製作頁面計數器

2021-04-02 03:15:29 字數 1471 閱讀 3717

計數器可以用資料庫方式實現,也可以用文字檔案方式實現。由於文字檔案方式不涉及系統的資料庫管理系統,相對簡單,容易實現,因此,在這裡介紹文字方式的計數器。

計數器的原理比較簡單,頁面每次被訪問的時候,對記錄訪問次數的數字加1,然後將這個數顯示出來。原理雖然簡單,在具體實現上還是需要一定的技巧。

由於乙個cgi程式在伺服器上並非一直駐留在記憶體中,為了對訪問次數進行計數,則需要把這個數字存入乙個檔案中,每當主頁被訪問時,開啟該檔案將訪問數字加1後再存入檔案中。

**是多使用者環境,在訪問檔案時必須對檔案上鎖以禁止其他使用者對檔案的訪問,這樣才能保證資料的可靠性。然而不同**使用的作業系統不同,其對檔案上鎖的機制也不同。本文採用了一種各種平台都適用的方法,每當有頁面被訪問時,cgi程式建立乙個臨時檔案,此時若有其它程序也要對檔案進行訪問則須等待,程序對檔案更新後刪除該臨時檔案,等待的程序才能對檔案進行訪問。

下面是用perl實現的乙個計數器源**,並加註了注釋:

#!/usr/local/bin/perl

#存貯表示主頁訪問量數字的檔案

#用作檔案鎖的臨時檔案

# 主模組

&increment;

print "content-type: text/html/n/n";

print $accesses;

sub increment

# 建立臨時檔案

open(lock," >$lockfile") || die

"can't create lockfile./n";

# 讀檔案並更新資料

open(data,$data) || die "can't open data file./n";

$accesses = < data >;

$accesses++;

print data "$accesses/n";

close(data);

# 刪除臨時檔案,對資料檔案開鎖

close(lock);

unlink($lockfile);

}你可以在頁面上需要顯示計數器的地方加上下面的html**,頁面被訪問的時候,來訪者就可以知道自己是第幾位來訪者了。

< html > < head >

< title >home page< /title >

< /head >

< body >

< h1 >home page< /h1 >

< p >歡迎您!第

< !--#exec cgi="/cgi-bin/text-counter.cgi" >

位來訪者.< /p >

< /body > < /html >

只要掌握了計數器的原理,就可以設計出稱心如意的計數器,使你的主頁更有吸引力。

用PHP製作自己的計數器

用php來實現計數器很簡單,計數器的實現分為兩個階段 一是實現計數 二是實現數字的顯示 而在實現計數時又有兩種方式 一是基於檔案的計數方式 二是基於資料庫的計數方式。而在實現數字的顯示也有兩種方式 一是普通的文字顯示 二是圖形方式顯示。下面就將這四種情況作一介紹 一 計數 1 基於檔案的計數 在這種...

用Flash結合ASP製作計數器

blackflash 雖然現在有很多 提供免費的計數器,如果自己能動手做乙個不是更好嗎?所以今天我就教大家通過flash結合asp來製作計數器。1 新建乙個檔案,把當前層命名為 背景 可以自己選擇顏色,你也可以在此層中加入movie clip,這樣可以讓你的計數層更加動感,這可是文字計數器不可能實現...

用ASP建立WEB頁面計數器

用asp建立web頁面的計數器通常有兩種簡單的方法,乙個是建立global.asa,另外乙個是直接寫乙個asp檔案來進行計數。一般使用乙個文件來儲存瀏覽數量。1 用global.asa來寫計數器寫乙個global.asa檔案,存放到虛擬目錄的根目錄下面,源 如下 呼叫計數器時候在網頁中寫入即可,不過...