S:Type CNT-3rd
複数のページ、SSI、Flash にも対応し過去のカウントも呼び出せるカウンタ
Perl5
特徴
- カウンタ値をイメージで出力。
- カウンタを表示しない場合は代替画像を表示。
- カウント後にイメージ、書庫等任意のファイル、URLにリダイレクトも可能。
- SSI にも対応。
- Flash 作者は自らの作った Flash にカウント値を取り込める。
- 今日、昨日のカウントは勿論、ログにある日付なら何時のカウントでも呼び出し可能。
- 複数のページでカウントを採ることが可能。
- 勿論重複カウントをしない設定も可能。
DownLoad
DownLoad[stype.zip]
S:Type CNT-3rd は S:Type CNT-2Nd とは互換性はありません。旧 S:Type をご利用の方は注意してください。
書庫の中身
- stype.cgi
- stype.pl
- stype.dat
- stype.tmp
- stype.js
- stype.css
- gifcat.pl
- clear.gif
- /img/*.gif
パーミッション
/stype/
┣ stype.cgi [755] (要実行権限)
┣ stype.pl [666] (要書き込み権限)
┣ stype.dat [666] (要書き込み権限)
┣ stype.tmp [666] (要書き込み権限)
┣ gifcat.pl [644] (デフォルト)
┣ stype.js [644] (デフォルト)
┣ stype.css [644] (デフォルト)
━ img [デフォルト]
━ img/*.gif [デフォルト]
━ clear.gif [デフォルト]
- stype.cgi
- プログラム本体
- stype.pl
- 設定保存ファイル
- stype.dat
- カウントデータ保存用ファイル
- stype.tmp
- 一時ファイル
- stype.css
- 管理者モード見栄え用
- stype.js
- 管理者モード用 JavaScript
- img/
- カウンタ画像が入っているディレクトリ
- img/*.gif
- カウンタ画像
- clear.gif
- カウントの替わりに表示するダミーイメージ(好きな場所へ)
- gifcat.pl
- カウント画像を連結する為のライブラリ(好きな場所へ)
設定
stype.cgi での設定
- パスの変更
- まず stype.cgi を開いたら(メモ帳で開くことが出来ます)一行目の
を環境に合わせて書き直してください。解らない場合はサーバ側の FAQ 等に書かれていますので参照してください。#!/usr/local/bin/perl - ファイルのパス
- stype.cgi 中にあるプログラムが使うファイルへのパスを設定します。通常は無変更。
管理者モードでの設定
管理者モードに入室すると以下の設定を変更できます
- カウント値保存日数
- 重複アクセスとみなす時間
- パスワードの変更
- ダミーイメージのパス
- カウンタ用イメージが入っているディレクトリのパス
管理者モード
操作方法等は直感的にわかると思われるので割愛します。
入室方法
stype.cgi?admin と admin というパラメータを渡すと ログインフォームが現れるのでパスワードを入力し入室します。
設置直後にはパスワード設定フォームが出現するのでパスワードを設定してください。
ブックマークから直接入室するには
ex) http://192.168.10.2/stype/stype.cgi?admin=1&pass=PASSWORD
とします。
パスワードを忘れてしまった時
パスワードを忘れてしまった時には stype.pl の
$adminPassword = '*************';
という行を探し
$adminPassword = '';
と暗号化されたパスワードを消し上書きします。 その後アクセスすると再びパスワード設定フォームが現れるのでパスワードを設定してください。
イメージについて
- カウンタに使うイメージ
- カウンタに使うイメージは
- GIF 以外は使えません
- 各画像の高さは統一してください
- アニメーションGIF は使えません
- ファイル名は0〜9の画に見合った連番にしてください。(例:0.gif, 1.gif, 2.gif...)
- 詳しくは gifcat.pl を参照してください。
- ダミーイメージ
- これは特に制限はありません。
呼び出し方 ( HTML への記述 )
- 基本型 (カウントとカウント画像の呼び出し)
- 基本は CGI までのパスに
例: /cgi-bin/stype/stype.cgi?id=PageId
と、id=PageId という各ページの識別 ID を付けて CGI を呼び出します。 id= という部分は固定ですので気をつけてください。 この ID(例では PageId 部分)は重複しないようにしてください。IMG を使う場合は例: <img src="/cgi-bin/stype/stype.cgi?id=PageId">
と単純にこれだけです。これでもうカウント値は表示されます。 - カウント値に前「0」ゼロを付ける
- 実カウントが例えば「123」であり「00123」と表示させたい時は
例: /cgi-bin/stype/stype.cgi?id=index&dgt=5
と、dgt=5 を付け足します。例の「5」は5桁という意味です。 こうするとプログラムが前にゼロを付け足し表示してくれます。 dgt=? が実カウント値と同じ桁数かそれ以下だった場合は何も変化しません。 - カウント画像の代わりにダミーイメージを表示させる
- カウンタの代わりにダミーイメージを表示させるには
例: /cgi-bin/stype/stype.cgi?id=diary&mode=dummy
mode=dummy を指定します。これでプログラムはダミーを吐きます。 - SSI で呼び出す
- SSIの場合は
例: <!--#include file="/cgi-bin/stype/stype.cgi?id=menu&mode=text" -->
mode=text とします。 カウントを表示させたい場所に記述してください。 - Flash で呼び出す
- Flashの場合は
ex) /cgi-bin/stype/stype.cgi?id=bbs&mode=flash
mode=flash です。これで返ってくる値はtotle=1854
ActionScript については説明しません。マニュアルを参照してください。 - カウント後にリダイレクトさせる
- カウントを採った後にリダイレクトさせるには
ex.1) /cgi-bin/stype/stype.cgi?id=jump&l=http://127.0.0.1/index.html
ex.2) /cgi-bin/stype/stype.cgi?id=sampleImg10&l=/img/sample10.jpg
l= はアルファベットで小文字のLです。で、その後に飛ばしたいURLを書いてください。 URLはフルパスでも相対パスでも問いません。 単純にリダイレクトしているだけなのでどんなファイルでもURLにでも可能です。 - 今日、昨日、過去のカウントを呼び出す
- 今日、昨日、更に過去の一日単位のカウントを呼び出すには
ex) /cgi-bin/stype/stype.cgi?id=link&day=1
day=? とします。? が「0」ゼロなら今日のカウント。 「1」なら昨日、「2」なら2日前、「5」なら5日前、、、、として呼び出せます。 - もし mode=flash、 mode=jsとして呼び出している場合
ex.1) /cgi-bin/stype/stype.cgi?id=menu&mode=js&day=1
ex.2) /cgi-bin/stype/stype.cgi?id=links&mode=flash&day=5
day=1 は n 日分という意味になります。もしday=5 とした場合は5日分のデータがtotle=254&count=2,0,5,3,8
という形で返ります。count=2,0,5,3,8 は一番右が今日のカウント、一番左が過去のカウントとなっています。 これは Flash や SSI+JavaScript などでの利用が想定されています。
ID 命名規則等
ID とは呼び出し元ページを管理、識別する為の一意な名前をいいます。
- ID に使える文字数は 127 文字までです。
- ID につかえる文字には制限があります。 a-zA-Z0-9_-/.,:;~
- 大文字小文字は区別されます。
- ID は重複しないように気をつけてください。
- どのページの ID か分かるような ID の付け方でないと混乱します。
設置の流れ
- stype.cgi ファイル内のパスを設定
- 関連ファイルを全てアップロードし、適切なパーミッションに変更
- 設置した stype.cgi にアクセスし管理者モード入室
- 管理者モードにてログ保存日数等を設定
- 呼び出しテストなどを使い適当なID でstype.cgi を呼びカウント値が表示されるか見る
- 管理者モードで先ほどの ID が登録され、ログに残っているか見る
正常に設置されていれば後はカウントをとりたいページに CGI 呼び出し用のタグを記述していけば終了です。 パラメータがよく分らない場合は呼び出しテストを使い ブラウザのアドレスバーに表示されているものを参考にしてください。
制限
- 合計カウント値を保存できる最大数は 4,294,967,295
- 日別カウント値を保存できる最大数は 65,535
- 日別カウント値を保存できる期間は1年程度。それ以上は非推奨。
- 対象ページ(ID)数は100程度まで。それ以上は非推奨。
目安として 100ページのカウントを1年保存するとログファイルは 75Kbyte 程度になります。
Copyright(C) 2002-2006 kerry