[Top] [CGI研究室]
IMG要素形式のカウンタについて

IMG要素形式のカウンタの詳細

  1. IMG要素形式のカウンタの特徴
    IMG要素形式のカウンタの特徴を以下に示します。

    1. SSIが使えない場合でも使用できる
      SSI形式のカウンタはSSIが使用できないと使えませんが、 IMG要素形式のカウンタならば使用できます。

    2. カウンタ画像を結合する必要がある
      IMG要素形式のカウンタはカウンタイメージを出力する為、全桁分のカウンタ画像を結合して 一気に出力する必要があります。

      カウンタ画像の結合には、「とほほのWWW入門」(http://tohoho.wakusei.ne.jp/www.htm)にある とほほさん作のGIFファイル連結ライブラリ(gifcat.pl)が便利です。
      但し、gifcat.plはアニメGIF形式でカウンタ画像を結合するため、 アニメGIFに対応していないWebブラウザでは一番左の1桁しか見れません。
      (カウンタのカウントアップ自体には影響ありません)

    3. 表示形式等をHTML側で指定できる
      IMG要素内の各属性をHTML側で指定できますので、ページの形式変更の場合などでも CGIを変更する必要がありません。
      ※SSI形式でもパラメータ指定でIMG要素の属性を指定できるようにしておけば可能です。

    4. イメージデータしか出力できない
      IMG要素ですのでイメージデータしか出力できず、テキスト等を出力することはできません。
      エラーがあった場合のために予めエラー用画像を用意しておく事も考慮しておいた方が良いでしょう。

  2. IMG要素形式のカウンタでの本日カウンタと昨日カウンタ
    IMG要素形式のカウンタで、総計カウンタの他に本日カウンタ昨日カウンタを表示する場合は、 別々のIMG要素を用意してカウンタCGIのパラメータ指定で表示を別けるようにします。

     総計<img src="./cgi-bin/count.pl" border=0><br>
     本日<img src="./cgi-bin/count.pl?today" border=0><br>
     昨日<img src="./cgi-bin/count.pl?yesterday" border=0><br>

    カウンタCGIでは、以下の処理を行ないます。
    しかしこの方法では、総計カウンタより先に本日カウンタがアクセスされてしまった時に カウントアップ前の本日カウント数が表示される事になってしまい都合が良くありません。

    これに対処するには、「同一IPチェックの最初にアクセスされた時のカウント数を表示」と 連動させて、以下の条件で処理を行ないます。
    ここまで行なっても、丁度日付が切り替わった時点でアクセスされた場合に表示上の不整合が発生する可能性が ありますが、ごく稀なことですしこれ以上の対処を行なう意味はないだろうという結論に達しました。

CGI Saloon