ダウンロードカウンタ 及び ページ別アクセスカウンタ
■特徴とサンプル
このスクリプトは KENT-WEB の [LimeCounter Ver1.1] の改造版です。
- ページカウンタとダウンロードカウンタの2大機能を持っています。(どちらかを選択)
- SSIを使わず、CGIのみで動作します。
- 集計一覧は、アクセス数の多いページ順に自動ソートされます。
- ファイルロック処理を使い同時アクセスによるファイル破損を防止。
- オンラインからのログ操作が容易にできます。
- 日間、週間、月間カウント機能をつけました。
- 日間、週間、月間ログの操作も容易です。
- グラフ画像で割合が一目でわかります
- 同じIPアドレスでもカウントするようにもできます。
- DL数、カウント数を数字画像で呼び出せる
- 数字画像は連結処理(gifcat.pl)を利用するので表示が速いgifcat.pl の著作者はとほほさんです。
■ダウンロード
まず次のファイルをダウンロードしてください。ダウンロードする場所は好きなところで結構です。
[ lime_w.zip(27KB)]
|
[ lime_w.lzh(28KB)]
|
v4.1
ダウンロードが完了したら解凍してください。念のためこのページも保存することをオススメします。
このCGIはKENTさんのスクリプトを改造しフリーで配布する物です。KENTさんのスクリプト使用規定を必ず守ってください。
このCGI はフリーですが規定通りに使ってください。Readme.txtにも目を通しましょう。
■ファイル確認
解凍 したあと、以下のファイルがきちんとあるか確認してください。
- lime.cgi -(メインプログラム)
- limemgr.cgi -(管理/閲覧プログラム)
- set.cgi -(設定ファイル)
- lime.log -(メインログ)
- day.log -(日間ログ)
- week.log -(週間ログ)
- mon.log -(月間ログ)
- jcode.pl -(漢字コードライブラリ)
- bar.gif -(グラフ画像)
- lime.htm -(マニュアル)
- Readme.txt -(簡易説明書)
- gifcat.pl -(GIF連結ライブラリ)
■設定変更
最小限の設定変更の説明です。テキストエディタで「lime.cgi」のファイルを開いてください。
1行目
#!/usr/local/bin/perl
これを正しいパスに書きなおしてください。だいたいのサーバではこのままでOK。
21〜23行目
require './jcode.pl';
require './gifcat.pl';
require './set.cgi';
それぞれファイルのあるパスにしてください。すべて同じディレクトリに入れるならそのままでOKです。
*) http://〜のURLでは指定できません!
次に [limemgr.cgi]をメモ帳などのエディタで開いてください。
1行目
#!/usr/local/bin/perl
プロバイダで定められたPerlへのパスを指定します。
10・11行目
require './jcode.pl';
require './set.cgi';
それぞれファイルのあるパスにしてください。すべて同じディレクトリに入れるならそのままでOKです。
*) http://〜のURLでは指定できません!
次に [set.cgi]をメモ帳などのエディタで開いてください。
66行目
$pass = '0123';
管理用パスワードを英数字で指定します。
69行目
$backurl = '../index.html';
アクセス集計一覧表示部からの戻り先を相対パスで指定します。
81行目
$lockkey = 0;
ファイルロック機構にsymlink()関数を使う場合は 1を、open()関数だと2とします。
symlink()関数の方がロック機能が強固とされていますが、
プロバイダによっては使用できないところもあり、その場合には open()関数を設定してください
86・89・92行目
$day = 1;
$week = 1;
$mon = 1;
それぞれ日間、週間、月間機能を使う場合はココを1にしてください。
■サーバに送る
基本設定ができたら、サーバに送りましょう。ここでは[ public_html ]の下に
[ cgi-bin ]というディレクトリを作ってそこに送るという仮定で説明します。
[public_html]┐
├ [cgi-bin] ┐
│ ├ lime.cgi [755] (このファイルがカウントする)
│ ├ lime.log [666]
│ ├ set.cgi [755]
│ ├ limemgr.cgi[755] (このファイルが集計一覧などを表示・ログ管理)
│ ├ jcode.pl [755] (このファイルは他のCGIと共有できます)
| ├ bar.gif [666] (この画像はグラフ機能を使うとき必要)
│ ├ day.log [666] (このファイルは日間機能を使う時必要)
│ ├ week.log [666] (このファイルは週間機能を使う時必要)
│ ├ mon.log [666] (このファイルは月間機能を使う時必要)
│ ├ 1.gif / 2.gif ... 8.gif / 9.gif (このファイルは数字画像を呼び出す時必要)
│ └ gifcat.pl [755] (アップロード必須)
│
└ index.html
[ ]内の数字は送るときのパーミッションです。
ファイル名
|
モード
|
パーミッション
|
lime.cgi/limemgr.cgi/gifcat.pl/jcode.pl/set.cgi
|
アスキー(テキスト)
|
755
|
lime.log/day.log/week.log/mon.log
|
アスキー(テキスト)
|
666
|
bar.gif(グラフ画像)/数字画像
|
バイナリー
|
特に無し
|
■HTMLファイルに「タグ」を記述
ページカウント機能の場合
[記述の仕方]
<img src="パス/lime.cgi?page=識別番号&name=ページ名">
[記述例]
<img src="cgi-bin/lime.cgi?page=1&name=トップページ" width=1 height=1>
[ランキングからのリンク先指定の場合]
<img src="cgi-bin/lime.cgi?page=1&name=トップページ&hp=http://www.cj-c.com/" width=1 height=1>
[ランキングからのリンク先指定URLに & = がはいっている場合]
<img src="cgi-bin/lime.cgi?1page:=1:&name:=トップページ:&hp:=http://www.cj-c.com/x.cgi?no=1&del=1" width=1 height=1>
(? のすぐ後に 1、& = の前にコロン(:)を入れます)
[注意事項]
・「ページ名」の部分は日本語でもOKですが、半角スペース、半角カナ、機種依存文字は不可。
・ page=1 の 1 の数値はページ毎に必ず変えてください。
ダウンロード機能の場合
[記述の仕方]
<a href="パス/lime.cgi?down=ダウンロードファイルのURL&name=ページ名">ファイル名</a>
[記述例]
<a href="cgi-bin/lime.cgi?down=http://www.host.ne.jp/~user/data.lzh&name=ファイル名">DATA.LZH</a>
[ランキングからのリンク先指定の場合]
<a href="cgi-bin/lime.cgi?down=http://.../data.lzh&name=ファイル名&hp=http://www.cj-c.com/data.htm">DATA.LZH</a>
(...は省略)
[ランキングからのリンク先指定URLもしくはダウンロードファイルURLに & = がはいっている場合]
<a href="cgi-bin/lime.cgi?1down:=http://.../date.lzh:&name:=ファイル名:&hp:=http://www.cj-c.com/x.cgi?no=1&del=1">DATA.LZH</a>
(? のすぐ後に 1、& = の前にコロン(:)を入れます)
[注意事項]
・「ページ名」の部分は日本語でもOKですが、半角スペース、半角カナ、機種依存文字は不可。
・ ダウンロードファイルのURLは、最初の http://は省略可。
例 : <a href="cgi-bin/lime.cgi?down=www.host.ne.jp/~user/data.lzh&name=....
■グラフ機能
Ver2.0から新たにグラフ機能が追加されました。使い方は以下の通りです。[set.cgi]を開いてください。
111〜113行目
$baru = "./bar.gif";
$bhei = 7;
$one = 150;
画像までのパス。http://からのURLでもOK。
画像の縦幅。必ず指定すること。
1位のグラフの長さ。2位以下はこれを基準にされる。
JPEG画像でもOK。
■使い方ほか
集計一覧の見方
- http://..(略)../limemgr.cgi という風に limemgr.cgiを直接指定することで見ることができます。
管理モード
- 集計一覧モードの右下にあるフォームからパスワードを入れて入ってください。
補足事項
- LIME COUNTER では「ページ名」を、HTMLに記述したタグの引数から取得しますが、
- 訪問者のブラウザによっては、ごくまれに文字化けを起こすことがあります。
- この場合管理モードからその「ページ名」を修正できるようにしていますので、適宜管理モードから修正してください。
- チェックモード
- ログファイルのチェックを行うことができます。 lime.cgi に mode=admin という引数を付けます。
- 例: http://..(略)../lime.cgi?mode=check
- 上記のようにすることでログファイルの位置とパーミッションの簡易的なチェック結果が表示されます。
■数字画像呼び出し機能
普通のカウンタのように数字画像が呼び出せます。まず、1.gif〜9.gifまでの画像を用意しましょう。
数字に合った画像にしてくださいね。
*JPEG画像は、使えません!使うのはGIF画像だけにしてください
*アニメーションGIF、インターレースGIFは使えません!
*大きさの異なる画像は使用できません!
96行目〜98行目
$gif[0]= ".";
$gif[1]= "./img1";
$gif[2]= "./img2";
ここで、数字画像のあるディレクトリを指定します。最後のスラッシュ(/)は省きます。
初期状態だと $gif[0]が同じディレクトリ $gif[1]が同じディレクトリ内の[img1]というディレクトリという感じです。同じように増せます。
*URLでの指定ではエラーになります!スラッシュ(/)からの絶対パスか相対パスで指定してください。
[呼び出し方法]
ページカウンタの場合
<IMG SRC="cgi-bin/lime.cgi?page=1&name=トップページ" WIDTH=1 HEIGHT=1>
↓こういったタグに追加記述する↓
例:<IMG SRC="cgi-bin/lime.cgi?page=1&name=トップページ&c=1&f=5&g=0" WIDTH=** HEIGHT=**>
c=1 を追加すると数字画像が呼び出せます。f=5 は桁数。この場合5桁表示。 g=0 は$gif[0]の画像を利用する。
WIDTH と HEIGHT は数字画像に合わせて変更してください。
ダウンロードカウンタの場合
<a href="cgi-bin/lime.cgi?down=http://www.host.ne.jp/~user/data.lzh&name=ファイル名">DATA.LZH</a>
↓近くに<img>タグから呼び出す↓
例:<a href="cgi-bin/lime.cgi?down=http://www.host.ne.jp/~user/data.lzh&name=ファイル名">DATA.LZH</a>
ダウンロード数<IMG SRC="cgi-bin/lime.cgi?down=http://www.host.ne.jp/~user/data.lzh&c=2&f=4&g=1" WIDTH=** HEIGHT=**>
ダウンロードカウンタの場合は c=2 を追加。あとは同じように桁数指定 f=4(4桁)画像指定 g=1($gif[1]の画像を利用)と指定します
WIDTH と HEIGHT は数字画像に合わせて変更してください。
c を指定しないとページカウンタの場合はダミー画像が出ます。DLカウンタは c を指定しないのなら<img>タグは書かないで下さい。
f を指定しないと76行目の$fig の桁数になります。g を指定しないと $gif[0]の画像になります。
また、down もしくは page に T* と指定し、 c=2 で呼び出すと集計している項目すべての値を足したものを出力します。
例) <img src="cgi-bin/lime.cgi?page=T*&c=2" width=** height=**>
■その他
わからない、設置できない、バグがでた、などの情報はサポート掲示板までお願いします。
以前からこのカウンタをお使いで日間、週間、月間機能が動かないとき、管理モードの[リセット]ボタンを押してみてください。
ぷっちCGI で LimeCounter+W をBEST10にする方法を追記しました。