Home > カウンター > CUPID COUNTER
|
特長
- CUPID COUNTERの機能的な特長は以下のとおりです。
- JavaScriptを利用した日計カウンターです。
- 累計カウントを画像表示で、昨日と本日のカウントをテキスト表示するカウンタです。
- テキスト表示は、SSIを使わずJavaScriptで表示しますので、SSIを使用できないプロバイダでも使用が可能です。
- GIF画像連結モジュールとして、gifcatl.plとImage::Magickの両方に対応しています(設定ファイルで切替)。
- サンプルは次のとおりです。
あなたは当ページを訪れた累計 人目の訪問者です。
- このプログラムを利用する上での利用規定です。必ず目を通しておいて下さい。プログラムをダウンロードする場合、「利用規定」に同意したものとみなします。
プログラムの入手
- 以下の書庫ファイルをダウンロードします。
- ダウンロード後、解凍 します。解凍すると以下のファイルが展開されます。
cupid.cgi ------------ カウンタプログラム init.cgi ------------- 設定ファイル check.cgi ------------ 動作チェックプログラム cupid.js ------------- データファイル lib/gifcat.pl -------- GIF連結ライブラリ [入手元] lib/magick.pl -------- Image::Magickモジュール用プログラム gif/0.gif ... 9.gif -- GIF画像 [入手元] test.html ------------ カウンタ表示用HTML(サンプル)
- カウンタ画像は以下のページへ行くとバラエティに富んだものが多くあります。
プログラムの設定及び設置
- 全体のディレクトリ構成とファイル位置の設置例は以下のとおりです(かっこ内はパーミッションの設定値)。
ディレクトリ構成例
public_html / index.html ... ここにカウンタを設置するものとする | +-- cupid / cupid.cgi [705] | cupid.js [606] | check.cgi [705] | init.cgi [604] | +-- lib / gifcat.pl | magick.pl | +-- gif / 0.gif .. 9.gif
- init.cgi を エディタ で開いて以下の箇所を修正します。
- $cf{image_pm} = 0;
- 画像連結の形式を指定します。gifcat.plを利用する場合は「0」を、Image::Magickを利用する場合は「1」とします。Image::Magickが利用できるサーバであれば、こちらを利用することをお薦めします。同梱のcheck.cgiを起動することで利用の可否を確認できます。
- $cf{digit} = 6;
- カウント数の桁数を指定します。
- $cf{ip_check} = 0;
- IPアドレスをチェックし連続カウントを防止する機能です。この機能を使用する場合は「1」とします。
- cupid.cgi, check.cgi を エディタ で開いて以下の箇所を修正します。
- #!/usr/local/bin/perl
- (プロバイダで定められたPerlへのパスを指定します)
- 以上、修正が完了したら各ファイルを所定のディレクトリへFTP転送し、以下のとおり アクセス権 (パーミッション) を設定します。
ファイル名 パーミッション 転送モード 一般サーバ suEXECサーバ
CGIWrapサーバcupid.cgi
check.cgi755 or 705 701 or 700 アスキー cupid.js 666 or 606 604 アスキー init.cgi 644 or 604 600 アスキー lib/*.pl - - アスキー gif/*.gif - - バイナリ Tips:ファイル転送の仕方は以下のページを参考にしてください。
FTP : Windows編 FTP : Macintosh編 - 以上、作業が完了したら「チェックモード」で動作チェックを行ないましょう。 「check.cgi」に直接アクセスすることで、簡易的なチェックを行うことができます。 なお、動作チェック後はcheck.cgiはファイル削除しておきます。
- カウンタを取り付けるウェブページのお好きな場所に以下のような記述をします。
累計カウンタ記述例
<img src="http://www.example.com/cupid/cupid.cgi">昨日・本日のカウント数記述例
<script language="javascript" src="http://www.example.com/cupid/cupid.js"></script> <script language="javascript"> <!-- T++; document.write("昨日:" + Y); document.write(" "); document.write("本日:" + T); // --> </SCRIPT>
【参考】累計カウンタもテキスト表示するとき
<script language="javascript" src="http://www.example.com/cupid/cupid.js"></script> <script language="javascript"> <!-- T++; C++; document.write("累計:" + C + "<br>"); document.write("昨日:" + Y); document.write(" "); document.write("本日:" + T); // --> </script>
補足事項
- 総カウント数を途中から開始したい場合
- cupid.js を エディタ で開くと、次のような文字が並んでいますので、適当な値に修正して上書きします。
D='15:';C='0';Y='0';T='0';
D='15:'; 15は本日の「日」を意味し、その後にコロン(:)が付きます。例えば本日が10日ならば、D='10:'; とします。
C='0'; 累計カウントを意味します。例えば、1000から始めたい場合には C='1000'; とします。
Y='0'; 昨日のカウント数を意味します。例えば、100としたい場合には、Y='100'; とします。
T='0'; 本日のカウント数を意味します。例えば、50から始めたい場合には、T='50'; とします。
- cupid.js を エディタ で開くと、次のような文字が並んでいますので、適当な値に修正して上書きします。
- JavaScriptの制限上の注意
- 機構上、JavaScriptの外部ファイルをCGIで書き替えるという動作を行うため、以下の制限があります。
→ 日が替わった最初のアクセス時は、表示上は前日の最終アクセス数になります。
→ 通常は、cupid.jsが読み込まれた後に、cupid.jsの書き込み処理が行なわれますが、まれに(タイミング的に)書き込み処理が最初に行なわれると、表示数が1つ進んで見えることがあります。 - 日計表示には JavaScriptを使用しているので、ブラウザが対応していなければ当然ながら正常に表示されません。
- 機構上、JavaScriptの外部ファイルをCGIで書き替えるという動作を行うため、以下の制限があります。
おすすめページ
- Cupidカウンタ改造編(@niftyでのアニメGIF対応への改造方法)
アニメGIF表示へのカウンタ改造計画