思索の遊び場 > 訪問者数プログラム

訪問者数プログラム


任意の GIF ファイルを数字として使える訪問者数プログラム(カウンター)の説明をします。

以下のフォームでカウンターを試せます。

数:
形式:



「数」には 0 以上の数を指定します。「形式」には、"!0" と "d" に挟まれた、数字の桁数を表す正の整数を指定します。C 言語を知っているなら、"!" は "%" だと考えてください。URL 名の中では "%" が使えないので、代わりに "!" を使っています。「了解」ボタンを押して結果をご覧ください。

このプログラムを使うには、Perl がウェブ・サーバーにある必要があります。Perl は "/usr/bin/perl" か "/usr/bin/local/perl" にあるのが普通です。所在はプロバイダーにお聞きください。また、5.0 版以上の Perl が必要です。

まず、次のファイルが必要になります。

  1. Perl プログラム
    全部で 3 個のファイルがあります。
    ファイル説明
    counter.cgiプログラム本体。"counter.cgi" という名で保存してください。
    gifinput.plGIF 読み込み用。
    gifoutput.plGIF 書き込み用。

  2. 数字用 GIF ファイル
    数字の 0 から 9 までを表す GIF ファイルが必要です。名前は "ac0.dat" から "ac9.dat" でなければなりません。私は以下のファイルを Digit Mania で見付けました。他にも色々な数字ファイルがあります。



    数字ファイルを探すのが面倒なときはこれらのファイルを使ってください。

  3. サーバー制御用ファイル
    サーバーが通常の文書とプログラムとを区別できるようにするには、.htaccess というファイルが必要です。すでに今プログラムを使っているならこのファイルはあるはずです。無いなら一緒に導入します。

もしウェブ・サーバーが Perl を "/usr/bin/local/perl" 以外の場所に置いているなら、counter.cgi ファイルの 1 行目を書き換えなければなりません。Perl が "/usr/bin/perl" にあるとすると、次のように書き換えます。

#!/usr/bin/perl

その他、アクセス数を含むファイルが必要です。ac.dat という名のテキストファイルを作り、"0" だけを書き込んでください。これは今までのアクセスが 0 回という意味です。

これで準備は整いました。ここではコマンドラインから ftp を使ってインストールする方法を説明します。

まず、ftp でホームページのサーバーにつなげます。例えば "www.sf.airnet.ne.jp" なら次のようになります。

ftp www.sf.airnet.ne.jp

ユーザー名とパスワードを入力してください。

ホームディレクトリ(ftp で最初に入る場所)と、ホームページが置いてある場所が同じとは限らないので注意してください。違うときは cd コマンドを使って移動します。例えばホームページの場所がホームディレクトリの中の "public_html" というディレクトリなら、次のコマンドを入力します。

cd public_html

.htaccess を導入する必要があれば、次のコマンドを入力します。

put .htaccess

次に新しいディレクトリを作り、そこに移動します。

mkdir counter
cd counter


Perl プログラムとカウンターファイルを送ります。

put counter.cgi
put gifinput.pl
put gifoutput.pl
put ac.dat


数字ファイルを送ります。この時、bin コマンドでバイナリーモードに変更します。

bin
mput ac?.gif


これですべてのファイルを送りました。あとはファイルの属性を変更してプログラムとして起動できるようにし、ftp を終えます。

site chmod 666 ac.dat
site chmod 755 counter.cgi
quit


もし site を使うとエラーが出るときは、quote コマンドを使ってください。例えば上の例でエラーが出たときは次のように入力します。

quote site chmod 666 ac.dat
quote site chmod 755 counter.cgi
quit



これで完了です。あとはホームページの HTML ファイル (おそらく "index.html") に次の文を書くだけです。
<IMG SRC="counter/counter.cgi?up=1" WIDTH=75 HEIGHT=27 ALT="Counter"><BR>

このプログラムは次の引数を指定できます。

引数説明
format数の形式。指定しないと 5 桁を意味する "!05d" になります。
counterカウンターファイル。指定しないと "ac.dat" になります。
image数字ファイル。指定しないと "ac0.gif" から "ac9.gif" を意味する "ac!d.gif" になります。例えば "counter0.gif" から "counter9.gif" を使うなら、"counter!d.gif" を指定してください。
upこれが定義され、0 以外ならカウンターに 1 を加算します。指定しないと 0 になり、表示される数が変わらなくなります。

引数が 2 個以上あるなら、それらの間に ";" (セミコロン)を入れる必要があります。例えば "counter/counter.cgi?up=1;format=!06d" というようになります。

WIDTHHEIGHT の値は使用する数字ファイルと数字形式に依存します。上の例では、1 個の数字ファイルの幅が 36、高さが 47 で、全部で 5 桁あるので、全体の幅は 180、高さは 47 になります。この 2 つの項目は指定しなくても構いませんが、指定した方がブラウザーの表示が速くなります。



ホームページに戻る

Copyright(C) TAKASUGI Shinji (tssf.airnet.ne.jp)