Day Counter YM
カウンタCGIスクリプトです。KENT WEBさんのDay Counter (Version2.5)を改造したものです。
利用規程
このスクリプトを使用されるときはオリジナルの利用規程と私の追加した利用規程の両方に同意していただく必要があります。利用される前に必ず目を通してください。
KENT WEB CGIスクリプト利用規定 (KENT WEBさんの利用規程ページへのリンクです)
KENT WEBさんの利用規程に加え、以下の規定を加えさせていただきます。
- 当サイトのスクリプトを利用した事によるいかなる損害も作者は一切の責任を負いません。
- サポートは出来るだけしていきたいと思っていますが、忙しい場合サポートできないことがあります。
必要環境
動作に必要な環境は以下の通り。これ以外にもあるかも。
- 使用するサーバーでCGIが使えること。
- サーバーに Perl Verson5.004 以上がインストールされていること。
プログラムの概要
特徴
オリジナルから受け継いでいる特徴
- 累計カウントの他に昨日のアクセス数と本日分のアクセス数の3つを表示させられます。
- SSIを使わずCGIのみで動作します。
- GIF画像連結処理(とほほ さんのライブラリを使用)を施していますので、表示が早く、そして美しいという特性があります。なお、GIF画像連結ライブラリ gifcat.plの著作権はとほほさんにあります。
- 各所で公開されているカウンタ用GIFファイルが使用可能です。
改造により生まれた特徴
- 一定カウントごとにメールで通知することが出来ます。指定したキリ番でメールを送ることも出来ます。
- 1つのスクリプトで複数のカウンタ(別々にカウント)が使用できます。カウンタごとに画像を変えたりすることも可能です。
- 重複カウント防止機能を強化。一定時間以内(指定可能)の再訪問は以前その人が踏んだカウントが表示されます。
- 同じカウントが複数の人に表示されることはありません(のはず)。よってキリ番をとった人が複数現れるといったことは起こらないはずです。ただし完全とは言えません。
- PNG画像も使用できます。(まだテスト中、SI-PNG形式の専用画像ファイルが必要です。桜月さんのライブラリを少し改造して使用しています)
制限
- 本日カウント数はプラスマイナス1の誤差が発生する可能性がかなりあります。よって再読込するとカウントが1つ減ることがあります。重いサイト、アクセス数の多いサイトはこの可能性が高くなります。
GIFファイル使用時
- 画像連結ライブラリの性格上GIFアニメーションは使用できません。
- Netscape6では一部の桁が正常に表示されません。(調べた限りではgifcat.plの出力するgifファイルは仕様書に準拠しているのでNetscapeのバグだと思います。)
PNGファイル使用時
- SI-PNG規格の画像ファイルが必要です。
- 256色のインデックス(パレット)カラーモードのみです。
- 圧縮、フィルター、インターレースは使えません。(透過処理は可能です)
その他
- オリジナルで使用不可とされているインターレースGIFは画像ライブラリのバージョンアップによって使用可能になりました。オリジナルでもライブラリを入れ替えれば使用可能です。
- スクリプトの呼び出し方法やデータファイルはオリジナルのdaycount.cgiの上位互換ですので、cgiファイルを入れ替えるだけでHTMLファイルの記述を変更しないで移行できます。
- オリジナルにあった総カウントを表示しないで本日、前日のアクセス数のみを表示するオプションは廃止しました。
PNG画像について少し詳しく書いてみました。PNG画像についてを御覧下さい。
改訂履歴
Version3.3以前は記録なし
- Version3.4
- メールでプロクシアドレスの表示がされないバグの修正
- Verison3.5
- メールフォームを若干修正。
- チェックモードを少し修正
- Version4.0
- Version4.1 (2001/11/19)
- flockによるロックを追加
- 改造ミスによるロックバグを修正
- 1度閉じたファイルを書き込み時に再度オープンしていたのを書き込みまでしてから閉じるように変更
- 古いsymlinkロックファイルが消せないバグを修正
- Version4.2 (2001/11/20)
- 本日・昨日訪問者数表示で(総カウント表示のスクリプト終了を待つための)待ち時間を2秒から1秒に変更。(同時起動数制限のあるプロバイダでの待ち時間を短くし、強制終了を少なくするため)
- Version4.3 (2001/11/22)
- 総カウントカウンタの処理前かどうかチェックすることで
本日・昨日訪問者数表示で(総カウント表示のスクリプト終了を待つための)待ち時間をなくす。
- ファイルロックを解除しないまま終了してしまうことがあるバグを修正。
- Version4.4 (2002/1/31)
- Varyヘッダ(出力フォーマットの判別に使用したリクエストヘッダ情報)を返すように改良。
- チェックモードでOK,Errorを色付き文字で返すように改良。
- Version4.5(2002/7/18公開)
- 毎月1日に前日の訪問者数が0になるバグを修正(実はごまかし修正です)