カウントアップする際に、数字がぐるりと回るカウンターです。i-modeにも対応!Perlで作成されたカウンターで、CGIとして動作します。このサイトのトップページにも使っています。カウンターのイメージはBitmapで簡単に作れますので、あなただけのカウンターも作れます!
i-modeのサンプルは、http://www.futomi.com/i/revo.html でご覧いただけます。
カウントアップする際に、数字がぐるりと回るカウンターです。i-modeにも対応!Perlで作成されたカウンターで、CGIとして動作します。このサイトのトップページにも使っています。カウンターのイメージはBitmapで簡単に作れますので、あなただけのカウンターも作れます!
i-modeのサンプルは、http://www.futomi.com/i/revo.html でご覧いただけます。
※ アニメーションGIFに対応した機種に限ります。(209i, 502i 以上)
CGI利用規定をご覧になり、同意した上で、ダウンロードしてください。
CGIは、「ダウンロード」ボタンを押して、入手してください。Windows をご利用の方は zip 版を、Macintosh をお使いの方は sit 版をダウンロードしてください。
|
|
CGIをダウンロードし、解凍してください。それぞれのファイルについて解説します。
|
| ※ | HTML形式のReadMeファイルです。このホームページが入っています。このフォルダは、サーバへアップロードする必要がありません。 |
■ 転送先
フォルダ「revocount」を、転送モードも注意して、プロバイダー指定の場所にアップロードしてください。
■ パーミッション
これらパーミッションは、あくまでも例です。お使いのプロバイダー、レンタルサーバ業者の指示に従ってください。
上表には、パーミッションの指定が 2 種類指定しております。CGI がオーナー権限で実行されるサーバをお使いの場合には、パーミッション1の設定を使ってください。CGI が ohter 権限で実行されるサーバをお使いの場合には、パーミッション2の設定を使ってください。
CGI がオーナー権限で実行されるか、other 権限で実行されるかは、お使いのプロバイダーもしくはレンタルサーバ業者に確認してください。おおむね、CGI ファイルのパーミッションが、704 でも動作する場合には、オーナー権限で実行されると考えても結構です。CGI ファイルのパーミッションが、705 もしくは 707 でないと動作しない場合には、other 権限で実行されているとお考えください。
「変更不要」と指定しているファイルは、サーバにアップロードするだけで OK です。あえてパーミッションを変更しないでください。
プロバイダーによって、Perlパスが異なります。デフォルトでは「#!/usr/local/bin/perl」と設定しております。プロバイダーの指示に従い、以下のファイルのPerlパスを書き換えてください。
お使いになる環境に合わせて、またお好みに合わせて、設定を変更してください。設定の変更は、すべて「revoconfig.cgi」を編集することにより実現します。
#----------------------------------------------------------------
# ● 表示桁数の設定
# 設定桁数にカウント値が満たない場合には、左から0が表示されます。
# たとえば、桁数設定が「6」で、カウント値が「1234」の場合には、
# 「001234」と表示されます。
#----------------------------------------------------------------
$Figures = 6;
#----------------------------------------------------------------
# ● 表示桁数固定・非固定の設定
# 表示桁数を、カウント値が超えた場合に、表示桁数を自動的に増やすか
# もしくは固定にするかを指定します。
# たとえば、表示桁数設定が「6」で、カウント値が「999999」から
# 「1000000」にアップする際に、
# 非固定であれば、「1000000」と7桁で表示され、
# 固定であれば、「000000」と6桁で表示されます。
# 非固定の場合には、「0」、固定の場合には、「1」を指定してください。
#----------------------------------------------------------------
$FiguresFixFlag = 0;
#----------------------------------------------------------------
# ● アニメーションの時間指定[ms]
# カウント値がアップする際の、アニメーションの時間を指定できます。
# ミリ秒単位で、指定してください。2秒の場合には、「200」と指定します。
# 【注意】ここでの指定はあくまでも目安です。通信速度やパソコンの
# スペックなどの諸条件により、指定どおりとはならない場合が
# ありえます。
#----------------------------------------------------------------
$AniTime = 200;
#----------------------------------------------------------------
# ● 透過色指定(16進数)
# アニメーションカウンターは、透過GIFにすることができます。
# 透過色を16進数(6桁)で指定してください。
# 【例】
# $TransparentColor = 'FFFFFF';
# 透過色を指定しない場合には、
# $TransparentColor = '';
#----------------------------------------------------------------
$TransparentColor = '';
#----------------------------------------------------------------
# ● Cookieによるカウントアップ防止機能(使わない:0, 使う:1)
# 同じ人がアクセスしたり、ブラウザーで再読込をしても、カウンター
# の値をアップしないようにできます。
# この防止機能を使わない場合には、「0」を
# 使う場合には、「1」を指定して下さい。
# 【注意】 ここの設定を有効にしても、Cookieを無効にしている
# ブラウザーに対しては、効きません。
#----------------------------------------------------------------
$CookieFlag = 1;
#----------------------------------------------------------------
# ● カウントしないガード時間
# 以前サイトにアクセスしてから、ここで指定したガード時間を超え
# ずに、再度アクセスした場合には、カウンター値がアップしません。
# 逆に、超えている場合には、カウンター値はアップします。
# この設定は、Cookieによるカウントアップ防止機能が有効になっている
# 場合に、有効となります。
# 単位は、時間です。
# $GuardTime = 6;
# と指定すれば、6時間を意味します。
#----------------------------------------------------------------
$GuardTime = 6;
#----------------------------------------------------------------
# ● URLガードフラグ(使わない:0, 使う:1)
# あなたが設定したこのCGIを、他人に勝手に使われないようにするため
# の機能です。
# この機能を無効にする場合には「0」を、有効にする場合には、「1」
# を指定して下さい。他人にカウンターを悪用されないためにも、有効に
# することをお勧めします。有効にした場合には、下の「あなたのホーム
# ページのURLを正しく設定してください。
# 【注意】この機能は、ブラウザーが送信する環境変数「HTTP_REFERER」
# を使います。したがって、「HTTP_REFERER」を送信しない
# クライアント(i-mode端末等)に対しては、カウンターが表示
# されなくなります。
#----------------------------------------------------------------
$UrlGuardFlag = 0;
#----------------------------------------------------------------
# ● あなたのホームページのURL
# URLガードフラグが有効になっている場合に、ここで指定したサイト
# からのみ、このCGIが動作するようになります。ここで指定したサイト
# 以外からは、このCGIが使えません。
# ここで指定したサイトの配下のページでは、すべてこのCGIを使うことが
# できます。
# たとえば、あなたのサイトのURLが http://www.hoge.co.jp/foo/
# であれば、
# $YourSiteUrl = 'http://www.hoge.co.jp/foo';
# と指定します。
#----------------------------------------------------------------
$YourSiteUrl = 'http://www.hoge.co.jp/foo';
カウンターをつけたいページに、以下に説明するタグを埋め込む必要があります。
● IDの指定
このRevoCounter CGI「revocount.cgi」のURLが
http://www.hoge.com/foo/revocount/revocount.cgi
だとします。カウンターを設置したいページに以下のタグを追加してください。
<img src="http://www.hoge.com/foo/revocount/revocount.cgi?id=top">
「top」の部分は、ページを識別するIDです。このIDの名前は、何でもかまいませんが、半角アルファベットのみで指定してください。複数のページにカウンターを設置した場合には、別の名前を付与してください。同じ名前を指定すると、各ページのアクセス合計がカウンターに反映されてしまいますので、ご注意ください。
ここで指定したIDのカウント値データファイルは、ディレクトリ「data」の中に格納されます。そのファイル名は、IDに拡張子「.dat」を付け加えたものです。たとえば、IDが「top」の場合、データファイル名は、「top.dat」で保存されます。
IDの指定が無い場合には、ディレクトリ「data」内に、「default.dat」というファイルにカウンター値が格納されます。
● ベースイメージ(ビットマップ)ファイルの指定
ベースとなるカウンターイメージ(ビットマップ)ファイルを指定することができます。ベースイメージのファイルは、ディレクトリ「base」内に存在している必要があります。ベースイメージのファイル名が「sample1.bmp」の場合には、以下のようにHTMLタグを記述してください。
<img src="http://www.hoge.com/foo/revocount/revocount.cgi?base=sample1.bmp">
指定が無い場合には、「default.bmp」が適応されます。
IDの指定とともに指定したい場合には、「&」で区切って記述してください。
<img src="http://www.hoge.com/foo/revocount/revocount.cgi?id=top&base=sample1.bmp">
このページや、トップページにも、本CGIが組み込まれていますので、ご参考ください。
● i-mode 指定
i-modeに対応するには、以下のように、CGIのURLの後ろに「?」を加えた後、「imode=1」を加えてください。
<img src="http://www.hoge.com/foo/revocount/revocount.cgi?imode=1">
他のオプションと組み合わせる場合には、それぞれを「&」で区切ってください。たとえば、IDが「top」で、ベースイメージファイルが「sample1.bmp」の場合には、以下のとおりです。
<img src="http://www.hoge.com/foo/revocount/revocount.cgi?id=top&base=sample1.bmp&imode=1">
本CGIには、ベースイメージのサンプルがディレクトリ「base」内に同梱されていますので、どうぞご利用ください。ここで表示しているイメージはGIFですので使えません。必ず同梱のビットマップファイルをご利用ください。
| ファイル名 | イメージ |
|---|---|
| default.bmp | |
| sample1.bmp | |
| sample2.bmp | |
| sample3.bmp | |
| sample4.bmp | |
| sample5.bmp | |
| sample6.bmp | |
| sample7.bmp(i-mode対応) | |
| sample8.bmp (i-mode対応) | |
| sample9.bmp (i-mode対応) |
カウンターのイメージは、簡単に作成することができます。ご自分で作成する場合には、以下の条件でイメージを作成してください。
- イメージサイズの高さは、4の倍数にして下さい。
- 指定桁数分のイメージのサイズが、5KBを超えないよう注意してください。
【計算例】
表示サイズの計算は、概算ですが、以下の計算式から算出できます。
(イメージサイズ ÷ 10 ) × 表示桁数 × 5
上の計算は、全桁が変わる場合です。たとえば、4桁固定で設定してある場合に、9999から次に代わる場合には、0000となります。この場合には、4桁分の領域すべてのアニメーションが作成されます。i-modeの場合には、5コマ分となりますので、5倍するわけです。しかし、一桁だけが変わる場合には、その部分だけがアニメーションとしてデータ化されますので、サイズは小さくなります。
具体的に例を挙げると、まず、指定桁数が4桁固定だとします。そしてイメージファイルサイズが、5KBだとします。このとき、カウンターとして表示されるイメージのサイズは、全桁が変わる場合で、(5 / 10) * 4 * 5 = 10KBとなります。5KBを超えてしまっていますので、この例では、i-modeで表示できません。もし、ビットマップファイルのサイズが2KBであれば、カウンターとして表示されるイメージのサイズは、(2 / 10) * 4 *5 = 4KBとなります。5KBを超えませんので、i-modeで表示可能です。
上記計算例は、あくまでも概算です。実際にカウンターとして出力されるイメージは、計算値よりも若干大きくなります。できる限り余裕を持ってイメージファイルを作成してください。もしくは、表示桁数を少なめに設定してください。
もし、カウンターが表示されない場合には、直接ブラウザーに、IMGタグに設定したCGIのURLを入れてアクセスしてみてください。何かしらエラーが表示されますので、そのメッセージを参考にして下さい。
| エラー内容 | 対策 |
|---|---|
| ビットマップファイルではありません : bfType[$bfType] | base=xxxxx で指定したベースイメージファイルは、ビットマップ形式ではありません。ビットマップファイルを用意してください。 |
| イメージサイズが大きすぎます。500×50以内にして下さい。 : $biWidth × $biHeight | base=xxxxx で指定したベースイメージファイルのサイズが大きすぎます。500×50以内のサイズにして下さい。 |
| OS/2フォーマットは変換できません。: biSize[$biSize] | base=xxxxx で指定したベースイメージファイルが、OS/2フォーマットのビットマップです。Windowsフォーマットのビットマップにして下さい。 |
| 256色以外のビットマップはGIFに変換できません。: $ColorCount色 | base=xxxxx で指定したベースイメージファイルを256色(8bit Color)に変換して下さい。 |
| 指定外のサイトからは利用できません。 | revoconfig.cgi の設定で、URLガードフラグが有効になっています。あなたのホームページのURLの指定が間違っている可能性があります。もしくは、環境変数HTTP_REFERERを送信しないブラウザーでアクセスしている可能性があります。この場合には、revocounfig.pl で、URLガードフラグを無効にして下さい。 |
| IDには、半角アルファベットもしくは数字で指定してください : xxxxx | IDの指定に誤りがあります。「id=xxxxx」の「xxxxx」を半角アルファベットもしくは、数字で指定して下さい。 |
| ベースイメージ(ビットマップ)ファイル名には、半角アルファベットもしくは数字で指定してください。: xxxxx | ベースイメージの指定を修正してください。もしくはディレクトリ「base」にアップロードしてあるビットマップのファイル名を修正し、base=xxxxxの指定もそれに合わせて変更してください。 |
| ベースイメージ(ビットマップ)ファイルの読込みに失敗しました。 : xxxxx | ディレクトリ「baes」内に、指定されたビットマップファイルが存在しない可能性があります。 |
| ビットマップイメージの幅は、10の倍数でなければいけません。: biWidth[xxxxx] | ベースイメージのビットマップの幅が、10の倍数ではありません。幅が10の倍数になるようにビットマップを作成し直してください。 |
| i-mode対応の場合、ビットマップイメージの高さは、4の倍数でなければいけません。: biHeight[xxxxx] | ベースイメージのビットマップの高さが、4の倍数ではありません。高さが4の倍数になるようにビットマップを作成し直してください。 |
| データファイル xxxxx.dat をオープンできませんでした。 | データファイルが格納されているディレクトリ「data」のパーミッションを確認してください。 |
| データファイル xxxxx.dat を作成できませんでした。「data」ディレクトリがあるかどうか確認してください。 | データファイルが格納されているディレクトリ「data」が、CGIファイルと同じディレクトリ内に存在するかを確認してください。もしくは、ディレクトリ「data」のパーミッションを確認してください。 |
もし、InternalServerErrorと表示される場合には、revocount.cgiのパーミッション設定の誤りや、サーバへ転送の際、バイナリーモードで転送している可能性が考えられます。また、revoconfig.cgi の記述ミスの可能性が考えられます。
【Ver1.2 → Ver1.3】 2002/03/20
【Ver1.1 → Ver1.2】 2001/10/08
【Ver 1.0 → Ver 1.1】 2001/08/15