WWW カウンタの作り方  

Home page のカウンタは、Home page に access された回数を示し ています。 現在のカウンターは 2003.3.1 より動かしました。

東北大 研究室 Web 開始 2003.3.1
10,000 人 2003.11.8 20,000 人 2004.4.28 30,000 人 2004.10.10
40,000 人 2005.2.11 50,000 人 2005.7.13 60,000 人 2005.12.6
70,000 人 2006.4.18 80,000 人 2006.7.28


電通大時代の研究室 のカウンタは、巷から copy して、1997 年 7 月 15 日より動かしはじめました。研究室の Home page 自体は 1994 年 4 月より動いています。

2001 年 8 月 20 日 200,000 人突破しました。

研究室 Web 開始 1994.4.1      カウンター開始 1997.7.15
30,000 人 1999.1.7, 40,000 人 1999.4.25 50,000 人 1999.7.8
60,000 人 1999.10.18, 70,000 人 2000.1.18, 80,000 人 2000.4.11
90,000 人 2000.5.23, 100,000 人 2000.6.28, 120,000 人 2000.10.6
140,000 人 2001.1.6, 160,000 人 2001.4.20, 180,000 人 2001.6.20
200,000 人 2001.8.20, 220,000 人 2002.1.11, 240,000 人 2002.7.23
260,000 人 2003.1.16


御願い: 100,000 単位でくぎれの良い ページにあたった人は 画像を送ってくださいませ。申し訳ありませんが謝礼はありません。

上のようなカウンタを表示させる方法(unix の WWW サーバのみ)を 説明します。

  1. counter を呼びたい html file に

    あなたは <!--#exec cmd="count.pl"--> 番目のお客様です。

    をいれます。これで count.pl を実行した結果を、表示してく れます。 count.pl は、次に示すような perl の program です。 html file と count.pl は同じ directory にあることが必要です。

  2. カウンタをとりたいところの ページのある directory に count.pl という perl を実行する file を作ります。内容は以下 の通りです。
    #!/usr/local/bin/perl
    $file='count';
    $graphics='images';
    
    open(DATA,"$file");while(){$count=$_;$count++;}close(DATA);
    $count_length=length("$count")-1;
    foreach $image_no (0..$count_length) {$img=substr($count,$image_no,1);
                                          print "<img src=\"$graphics/$img.gif\" alt=\"$img\" border=\"0\">";}
    open(DATA,">$file");print DATA "$count";close(DATA);
    
    ここで、$file が counter の数字が入る file です。count.pl は 実行可能なように
    % chmod +x count.pl
    
    をしておきます。
  3. ./images という directory を作り 0.gif から 9.gif をおきます。複数の file に counter をつける場合には、count.pl の $graphics のところに directory 名を設定するところがありますから、そこを 共通にして disk を節約できます。この場合 $file を 別々にしておかなければ いけません。研究室の場合には

    $graphics='/www/japanese/images';

    にすれば ok です。

  4. count という file を chmod 666 で html (count.pl) と同 じ directory に作り 1 をいれます。
これで ok です。この機能は SSI (server side include) という server 側 に負担のかかる方法を使っています。server に負荷をかけたくない場合には 無闇につけないほうが良いです。
rsaito@tube.ee.uec.ac.jp