がらくたCGI工房

Japanese Only. Link Free.
Riko作のフリーCGIの配布を行っています。

INDEX

TOP
がらくたCGI工房のトップページです。フリーCGIの説明付き一覧もあります。
Q&A掲示板
ここにあるフリーCGIについての質問を受け付けています。
更新日記
CGI工房用の更新の記録です。
メール
フォームメールです。

フリーCGI

Last updated on 2009/01/11.

フリーCGI:includeカウンター(SSI)

ダウンロード&設置方法

incnt

Download:incnt.cgi Ver.2.1 (Last updated on 2009/01/11 18:43:56.)
Sample:カウンターサンプルページ
由来
CGIを作り始めた頃購入した書籍に載っていたカウンターSSIがexecのもので、 しかし当時使っていたサーバがSSIはincludeしか使えなかったか何かで、 include文で実装できるカウンターを作ろう!と思い立った気がします。
特徴
  • 文字コードはSJISです。
  • include文で実装できるため、exec文が使えないサーバで使用できます。
機能
  • 一つのCGIで、複数のページにカウンターをつけることができます。
  • 複数のページで、異なる数字画像を使うことができます。
設置の前提条件
  • zipが解凍できるソフトが必要です。 最近Windowsなら特にソフトも要らないようですが。
  • カウンター用の数字gifファイルを用意して下さい。 素材HPなどで、拾って来れると思います。
設置方法:まず1つだけ
  1. タイトル行のincnt.cgi Ver〜をクリックして、 incnt.zipをダウンロードします。
  2. incnt.zipを解凍します。そうするとincnt.cgiとcnt.datができます。
  3. incnt.cgiの初期設定を変更します。 絶対に変更する必要のある箇所はソースの頭の方にあります。
    • 一行目の#!/usr/local/bin/perlを、Webサーバの環境に合わせて変更して下さい。
    • カウンターデータファイルを置く場所を、$cntdirで指定します。 初期値はinctndataになっているので、CGIを置いてあるディレクトリにincntdataというディレクトリを作ってそこにデータファイルを置く場合には、そのままです。
    • カウンターgifを置くディレクトリを置くディレクトリの仮想パスを、$gifpathで指定します。
    • カウンターデータファイルの名前を$cntfileで指定します。初期値はcnt.datになっています。
    • カウンターgifファイルを置くディレクトリを$gifdirで指定します。
    • カウンターgifファイルの、横幅を$widthで、高さを$heightで指定します。
  4. 各ファイルをサーバに置きます。
    • incnt.cgiをパーミッション755で。
    • カウンターgifファイル(0.gif〜9.gif)を、$gifdirで指定したディレクトリに。
    • $gifpathで指定した場所に当たるところに、$cntdirで指定したディレクトリを用意し、そのディレクトリに$cntfileで指定したカウンターデータファイル(サイズ0)をパーミッション666で。
    例えば、サンプルページは、zipに入っているcgiをいじらずに使っていますが、このサンプル用のファイル配置は以下のようになっています。
    pubric_html/CGI/sample/index.html
                          /incnt.cgi
                          /cntgif/0.gif〜9.gif
                          /incntdata/cnt.dat
    
  5. カウンターを設置したいhtmlファイルに、<!--#include virtual="incnt.cgi"-->と書き入れて、サーバに置きます。尚、そのhtmlファイルとincnt.cgiのあるディレクトリが同じ場合はこれでいいですが、異なる場合は、htmlファイルから見て、incnt.cgiのある場所を相対パスなどでちゃんと指定してください。
それで多分動くはずです。
拡張方法&FAQ
複数のカウンターを設置する
  1. 2つ目のカウンターデータファイル(サイズ0)を用意します。例えばcnt2.datとします。
  2. パーミッション666で、$cntdirで指定したディレクトリに置きます。
  3. htmlファイルで指定する時に、f=でデータファイル名を指定します。例えばこのようになります。<!--#include virtual="incnt.cgi?f=cnt2.dat"-->
3つ目4つ目も同様に設置して下さい。
2つ目のカウンターでは、違うカウンターgifファイルを使いたい
上の「複数のカウンターを設置する」と、1,2までは一緒です。
  1. 使いたいカウンターgifファイル(0.gif〜9.gif)をまとめたディレクトリを用意します。例えばcntgif2とします。そのディレクトリを$gifpathで指定した場所に当たるところに置きます。
  2. htmlファイルで指定する時に、f=でデータファイル名を、d=で、gifファイルを置いたディレクトリ名を指定します。gifファイルの横幅や高さがデフォルトのgifファイルと異なる場合は、wでgifファイルの横幅を、hでgifファイルの高さを指定します。例えばこのようになります。<!--#include virtual="../incnt.cgi?f=cnt2.dat&d=cntgif2&w=27&h=27"-->
ここまでで、ファイル配置は以下のようになっています。
pubric_html/CGI/sample/index.html
                      /incnt.cgi
                      /cntgif/0.gif〜9.gif
                      /cntgif2/0.gif〜9.gif
                      /incntdata/cnt.dat
                           /cnt2.dat
                      /test/test.html(今回増やしたhtmlとします)
$gifpathを仮想パスで指定してあるため、htmlファイルがあるディレクトリが1つ目と2つ目で異なっていても、使用可能です。
リリースノート
1999/07/20
incnt.cgi v1.0作成
2000/02/27
複数のデータが扱えるように変更して、v2.0としました。
2001/03/05
ロックファイルがかかったままになった場合に備えて修正して、v2.1としました。

↑ このページのTOPへ