CGI動画カウンタZ「Animation Counter Z」

↑Anicntz Top ←Prev page Next page→


インストール

  1. ダウンロード
  2. ユーザ毎設定
  3. 記録ファイル
  4. 数字画像データ
  5. 動画定義データ
  6. ファイル転送
  7. 動作確認
  8. エラー

ダウンロード

最新版はVer.10になります。anctz_10r.lzhをダウンロードし、解凍して下さい。
解凍したファイルは全て文字コードがEUC-JP、改行コードが\n(\0x0A)のテキストで記録されています。然るべきテキストエディタを使って編集するようにして下さい。
Windows付属のメモ帳では正常に開けませんので、もし適当なエディタをお持ちでない方には「RE for Windows(Freeware)」辺りお勧めです。
その他OSのコード体系やツールについては能く知りませんので割愛させて頂きます。
↑Page top


ユーザ毎設定

解凍したファイル中、"anicntz.cgi"がプログラム本体となります。使用する前に必要な箇所の書き換えを行なって下さい。

1行目

#!/usr/local/bin/perl

Perl本体の所在(パス)を示します。設置するサーバの環境に合わせて各自で書き換えて下さい。
また、この記述は先頭行に必要なモノです。余計な事を書き加えたり、或いは1行目以外に記述したりした場合、正常に動作しなくなるので注意して下さい。

51行目~

# << ユーザ設定項目 >>
# 基準ディレクトリ
$Dir = './';

CGIを実行する際の基準となるディレクトリを示します。通常は上記にように相対パスによる指定で事足りますが、設置先のサーバに依っては絶対パスが必要となります。詳しくはサーバの管理者に確認して下さい。

# カウンタデータ用ディレクトリ名
$CntDir = 'count';

カウンタの記録ファイルを格納するディレクトリ名を指定します。名称は実際の構成に合わせて自由に変更してもらって構いません。

# 送信プログラム(sendmail)へのパス
$SendMail = '/usr/sbin/sendmail';

各種通知機能に用いるメール送信プログラムの所在を示します。サーバに依っては使用が許可されていない場合もあり、その際は特別設定する必要はありません。
また、sendmailと互換性の有る他のプログラムが提供されているケースもありますので、サーバ管理者に能く確認して下さい。

# 送信先メールアドレス(複数設定可能)
@MailTo = (
        'foo@hogehoge.com','foo@hogehoge.ne.jp'
);
各種通知機能によるメールの送信先になります。sendmailが使えない場合、設定する必要はありません。
複数の送信先を設定する場合、それぞれをカンマで区切って下さい。1ヵ所だけならカンマは不要です。

70行目~

# << 標準値設定 >>
(以下は例)
%PAR = (
        XX=>'ABCD',
        YY=>123
);
ここではオプション指定を省いた際の標準値をハッシュ「%PAR」に設定できます。
例えば「XX」と云うオプションの場合「$PAR{XX}」へと値が取り込まれますから、ハッシュ内の同一キー変数に予め値を代入しておけばオプション省略時にはそれがそのまま標準値となります。

196行目~

# Refererチェック
if (&Decode("$Mst{URL}$PAR{HD}") ne &Decode($_)) {
        # ロック解除
        rename $LkdPath , "$PAR{base}.cgi";
        &Error(4);
}
記録ファイル内のカウンタ設置ページアドレスと実際の呼出元(環境変数 HTTP_REFERER)を比較する事で、イタズラによるカウントアップを排除している部分です。
最近ではセキュリティやら何やらで、Refererを掃き出さない環境でネットに繋いでる人が増えたためデフォルトではコメントアウトしてあります。有効にしたい場合は各行の先頭の#を外して下さい。
↑ページ先頭へ


記録ファイル

解凍したファイル中、ディレクトリ'count'中の'ID_name.cgi'が記録ファイルのサンプルです。

ファイル名

ID_name.cgi
ファイル名は、英数字(0~9 A~Z a~z _)のみで構成された6文字以上の文字列であれば自由に変更できます。「-(ハイフン)」は英数字に含まれませんので注意して下さい。
○AAa_00.cgi
×BBb-00.cgi(含非英数字)
×CCc00.cgi(6文字未満)
名前の異なる記録ファイルをいくつも用意する事で、カウンタの複数設置が可能になります。
なお、記録ファイルの拡張子は‘.cgi’固定です。気休めですが、内容を他者から閲覧されにくくするためです。

1行目

http://www.hogehoge.com/foo/home.htm
カウンタを設置するページのアドレスを指定します。実際にカウンタを呼び出しているページとの比較に用いています。登録されたアドレス以外からの参照に対してはカウントを行なわずエラーを返します。(前述のHTTP_REFERERの項を参照)

2行目

Password
パスワードを指定します。Web上でのメンテナンスを想定してエリアだけ設けてありますが、現在のところ未使用です。変更・削除などせずにそのままにしておいて下さい。

3行目

0
最新のカウント値を設定します。既存のカウンタから移行する場合、適当な初期値に変更して下さい。
↑Page top


数字画像データ

現在、下の17種類があります。全てVer.10に同梱されていますので、お好みのモノを使用して下さい。
なおVer.8以降は、Ver.7b以前に同梱されていた数字画像データは使えなくなりますので注意してください。
逆に、Ver.8に同梱の数字画像データは、Ver.7b以前でも使用可能です。
データが複雑になってきたので、モノクロ8色ビットマップの数字画像からデータを自動生成するスクリプトを付属しました(Ver.8以降)。
興味のある方は試してみてください。※'bmp2dig.cgi'の使用法
≪数字フォント各種≫
数字フォント00dig16_00.pl淡古印体 漢数字(大字)[16x16]
数字フォント01dig16_01.pl淡古印体 漢数字[16x16]
数字フォント02dig16_02.plSerpentineDBol[16x16]
数字フォント03dig16_03.pl勘亭流江戸文字 漢数字[16x16]
数字フォント04dig16_04.pl極太丸ゴシック体 漢数字[16x16]
数字フォント05dig16_05.plTimeScrBol[12x16]
数字フォント06dig16_06.plWashingtonDBla[12x16]
数字フォント07dig16_07.plModern 太字 斜体[12x16]
数字フォント08dig16_08.plウェブチャビー 漢数字[16x16]
数字フォント09dig16_09.pl極太明朝体 漢数字(大字)[16x16]
数字フォント10dig16_10.plStencilD 斜体[14x16]
数字フォント11dig16_11.plCroissantD[12x16]
数字フォント12dig16_12.plStopD[12x16]
数字フォント13dig16_13.plPigpen[16x16]
数字フォント14dig16_14.plShatner[14x16]
数字フォント15dig16_15.plFuturaTExtBol[16x16]
数字フォント16dig16_16.plAirbag Street[16x16]

↑Page top


動画パターン

Ver.6B以前からの‘anm16_00.pl’に加え、Ver.7からは‘anm16_01.pl’が同梱されています。お好みによって使い分けて下さい。
コチラもデータ構造自体は単純明快なので、よりカッコイイ動きにカスタマイズしてみるのも一興です。:-)

≪‘anm16_00’による動画構成一覧≫
作成画像SizeDelay
画像 01100x200
画像 02100x200
画像 0316x16150
画像 0416x1680
画像 0516x1612
画像 0616x1612
画像 0716x1612
画像 0816x1612
画像 0916x1612
画像 1016x169
画像 1116x169
画像 1216x169
画像 1316x169
画像 1416x169
画像 1516x169
画像 1616x166
画像 1716x166
画像 1816x165
画像 1916x163
画像 2016x1612
画像 2116x1660
画像 2216x16100

↑Page top


ファイル転送

全てのファイルの設定が終了したら、設置するサーバへ転送します。先方がUNIXであればバイナリ転送でも構いません。
※既に旧版をお使いの場合、CGI本体(anicntz.cgi)の差し替えだけでOKです。

/public_html/(ホームディレクトリ)
    |-- /cgi-bin/(CGIの実行できる任意のディレクトリ)
            |-- anicntz.cgi (755)
            |-- dig16_00.pl (644) 数字画像データ
            |       :         :
            |-- dig16_22.pl (644) 数字画像データ
            |-- anm16_00.pl (644) 動画パターン
            |       :         :
            |-- anm16_01.pl (644) 動画パターン
            |-- /count/     (777) カウンタデータ用ディレクトリ
                    |-- (ID_name).cgi  (666) 記録ファイル
                    |       :            :
                    |-- (ID_name).cgi  (666) 記録ファイル

各ファイルの配置を確認し、それぞれ上の通りにパーミッションを変更します。
↑Page top


動作確認

設置した CGIが動作しているかどうか確認します。
先ずはブラウザで CGIを直接呼び出します。その際、IDオプションだけは指定して下さい。

http://www.hogehoge.com/foo/cgi-bin/anicntz.cgi?ID=ID_name
もし正しく動作していれば、画像が表示されます。
・REFERERチェックを行なっている場合
Er4
・REFERERチェックを行なっていない場合
Sample
↑Page top

※強制的に広告の入る無料Webスペース等で、外部からのCGI呼び出しを禁じている場合には上記のように画像は出力されない気がします。「GIF89a~」で始まる謎の文字列が出力されていれば正常に動作していると考えて頂いて差し支え有りません。(2662/11/11)


エラー

以下、エラーの種類とその内容について掲載しておきます。ご参考まで。

≪エラーコード一覧≫
エラー画像無し
「???」
CGIが動作していない。
Er0
Be called with Illegal ID!!
指定したオプション「ID」値の不正。
Er1
Not EXIST the Record File!!
指定したオプション「ID」値に対応する記録ファイルが存在しない。
Er2
Failed to LOCK the Record File!!
ファイルロックに失敗。
Er3
Cannot OPEN the Record File!!
記録ファイルが開けない。
Er4
Be called from ILLEGAL Pages!!
登録ページ以外からの不正な呼出し。
Er5
Cannot OPEN the Temporary File!!
テンポラリファイルが開けない。
Er6
Cannot UPDATE the BackUp File!!
記録ファイルのバックアップが更新できない。
Er7
Cannot UPDATE the Record File!!
記録ファイルが更新できない。
Er8
Failed to UNLOCK the Record File!!
記録ファイルのロック状態を解除できない。

↑Anicntz Top ←Prev page Next page→