- 程式名稱:RedSnow Utility - HowMany (How many person on my site CGI)
- 版本編號:1.02 (Freeware 1.02)
- 最初設計:1.00 版:1998/11/29
- 改版記錄:
1.00 版:1998/12/06 | 設計本程式初步架構與基本功能。 |
1.01 版:1998/12/11 | 增加 list_mode 及 remove 參數,list_mode 參數可設定顯示方式為下拉選單的模式,remove 參數則可即時將瀏覽者的比對資料刪除掉。 |
- 最後修改:
1.02 版:1998/12/13 |
- 增加 turn_mode 參數,turn_mode 參數可設定為單行連結及下拉選單兩種模式輪流顯示。
- 增加隨機亂數擷取不同訊息來顯示的功能。
|
- 作者姓名:RedSnow WorkRoom - 傅鴻銘
- 版權宣告:
本程式為傅鴻銘個人作品,按照中華民國法律於程式完成並公開發表之時,即擁有著作權等相關權利,他人不得侵犯。
- 作者聲明:
- 本 (1.02) 版 HowMany 為免費共享軟體,任何人均可在不違反法律及不損害本人權益之前提下免費合法的使用,本聲明可視為作者對使用者合法免費使用的保障與授權聲明,但如有違犯下列事項者將不受本聲明之保障,作者並保留所有法律追訴權利:
- 不得利用本程式進行商業行為,包含灌錄至儲存媒體上販售或隨商品附贈給客戶,如有商業用途須取得作者授權。
- 不得修改程式內部表頭部分之字樣與本程式說明文件的內容。
- 傳播本程式者有義務讓被傳播對象瞭解作者聲明,以免被傳播者侵犯作者權益。
- 本程式基本運作原理參考自網路上流傳之 many.pl 程式,或許當初引進 many.pl 這支程式時,原作者未製作表頭資料或是資料被人刪除掉,因而該程式作者之相關資訊已不可考,若有知悉者煩請告知本程式作者,以便將其相關資訊列於文件內供使用者參考。
- 緣起:
作者一向不主張在網頁上放置線上人數的 CGI 程式,因為它就像是聊天程式一樣,會每隔一段時間即自動執行一次,這樣會佔用不少系統資源,但是陸續有許多網友向我詢問這支程式,為了認真的面對並解決這個問題,我就想了一些方式將程式設計成多樣化、使用容易,且設法使運作方式不要給系統帶來太大的負擔,也將該程式擺在紅雪網頁作了相關測試,原本打算測試完畢後即拿掉,
但是截至本文撰寫為止,這支程式好像已經可以達到先前的訴求 - 不要太過佔用系統資源,因此本程式將繼續的擺在紅雪網頁上供網友們參考。
- 安裝 HowMany:
本程式的安裝很簡單,只要將 HowMany.zip 解壓縮到任何一個目錄內,然後利用文書處理程式對 HowMany.pl 及 HowMany.htm 檔作一些適當的修改,然後 FTP 到網頁所屬的 cgi-bin 目錄內就可以了,細部說明請閱讀下一段。
- 使用 HowMany 的方法:
- 檢查 HowMany.pl 程式的第一行是否符合您網頁所屬站台的規定,若不符合站台規定,請修改該行設定。
- 修改 HowMany.pl 程式中 $rec_file 變數的設定值:
$rec_file 是設定檢查比對之用的紀錄檔所放置的實體(真實)路徑,如果不知道何為實體路徑?請向網頁所屬站台的管理人員詢問,如果您是 TacoMax 的居民,請直接參考下列方式設定:
$rec_file = "/home/city1/urid/www/howmany.txt";
注意:urid 字樣請改為您在 TacoMax 使用的帳號。
- 修改 Howmany.htm 檔案中 REFRESH 的 META 標籤設定值,本程式提供三種顯示方式:
- 不設定參數或設定 link_mode 參數時,以單行超連結字樣的模式(僅顯示人數)顯示:
<META HTTP-EQUIV=REFRESH CONTENT="0;URL=http://tacocity.com.tw/cgi-bin/cgiwrap/urid/HowMany.pl?link_mode">
- 設定 list_mode 參數時,以下拉式選單的模式(顯示人數及 IP 位址)顯示:
<META HTTP-EQUIV=REFRESH CONTENT="0;URL=http://tacocity.com.tw/cgi-bin/cgiwrap/urid/HowMany.pl?list_mode">
- 設定 turn_mode 參數時,則以上述兩種模式,輪流相互的顯示:
<META HTTP-EQUIV=REFRESH CONTENT="0;URL=http://tacocity.com.tw/cgi-bin/cgiwrap/urid/HowMany.pl?turn_mode">
注意:urid 字樣請改為您在 TacoMax 使用的帳號。
- 您當然不會是要使用整個版面來顯示線上人數吧!所以接著在欲顯示的版面配置檔設定顯示 HowMany.htm 這個檔案的敘述,例如:
<frameset rows="30,*" border=0>
<FRAME src="HowMany.htm" NAME="stat" NORESIZE SCROLLING="no">
<FRAME src="mymenu.htm" NAME="menu" NORESIZE>
</frameset>
注意:以上的版面配置設定僅是供您參考的簡易範例,您必須依照您的需求來作實際的版面分割。
- 將程式(HowMany.pl)、啟動頁面檔(HowMany.htm)、紀錄檔(HowMany.txt)、以及其它因安裝本程式而修改過的 HTML 檔案,以 FTP 程式上載到網站上:
HowMany.pl → 您的帳號目錄內的 cgi-bin 次目錄
HowMany.htm → 您的帳號目錄內的根目錄
HowMany.txt → 您的帳號目錄內的根目錄
- 更改相關檔案的屬性:
HowMany.pl 屬性設為 755。
HowMany.txt 屬性設為 666。
注意:某些站台的屬性要求有不一樣,應以各站台的規定為準。
- 特別說明事項:
- 本程式預設的自動檢查週期為 5 分鐘(300 秒)執行一次,若無特殊的狀況請勿修改該值為更少的秒數。
- 如果您將前項所述的檢查時間改成一般網站常見的 30 秒或 60 秒,甚至更少的秒數都是非常不妥當的,事實上線上人數僅有局部的參考作用,數秒鐘即更新一次是絕對沒有必要的,而且噱頭性比實用性來得多,反而會給網頁所屬的站台帶來大量的負載,並且也會影響參觀您網頁者的瀏覽效率,會令人討厭而導致反效果的。
- 本程式提供主動式查閱的功能,如果您或在線上瀏覽的網友等不及下個檢查週期的到來,想要知道即時的線上人數,可以下列方式操作:
- 設定 link_mode 參數的單行顯示模式 → 直接以滑鼠點選線上人數字樣的超連結。
- 設定 list_mode 參數的下拉選單模式 → 以滑鼠點選下拉選單後,點選 "查看最新的狀況" 的項目。
- 設定 turn_mode 參數則在分別顯示不同模式時,分別按照上述兩種方式操作。
(請參看 程式特色 項目所列的兩個範例)
- 本程式亦設計了一個 remove 參數,以便和前述的動作相對應,這個動作可以在參觀者離開您的網頁時,可以直接將比對資料由紀錄檔中刪除掉,以便其它人可得之最新人數而不必等到檢查週期到達後才刪除掉,設定的方式與原則如下:
- 以 javaScript 設定一個檢查敘述及一個副程式,在參觀者離開您的網頁時執行該副程式:
在 HTML 檔的 BODY 宣告處加上如下的敘述:
<BODY .... onUnload="RemoveMe()">
然後寫一段 JavaScript 宣告及程式碼:
<SCRIPT LANGUAGE="JavaScript">
<!--
function RemoveMe(){
location.href="http://tacocity.com.tw/cgi-bin/cgiwrap/urid/HowMany.pl?remove";
}
//-->
</SCRIPT>
- 不可擅自改寫 HowMany.pl 程式而將前項所述的動作放在 HowMany.pl 中,否則將行成不當的運作結果,最好是放在 index.htm 檔或主要的版面配置檔之內。
- 其它事項:
- 本程式除運作原理參考自 many.pl 程式之外,均由傅鴻銘個人獨立構思設計的作品,為了使本程式與 many.pl 程式有所區分,並讓名稱與運作功能較為相襯(many 為 "許多" 之意,HowMany 為 "有多少" 之意),故本程式命名為 HowMany,使用者請勿隨意更改程式名稱。
- 使用本程式需在 Web Server 能正常提供 CGI 服務時,才能發揮適切的作用,如果 CGI 不能正常運作,則您設定的線上人數也將無法顯示出來。
- 如果您想將本程式擺在您的網頁上分享給更多的網友,請告訴作者您放置程式的網頁位址,作者在本程式有更新資訊或有其它程式要分享出來時會知會您一聲。
- 如果您對本程式有任何意見或想給作者一點鼓勵,歡迎您到作者網頁留言或來信指教。
聯絡作者:redsnow@pmail.net
作者網頁:http://www.tacocity.com.tw/redsnow/index.htm
本文撰寫於中華民國87年12月10日 修改於中華民國88年04月28日