|
|
03/16(Sun) 00:33
■ ダウンロードカウンタ(1)
ご自分のホームページでソフトを提供されてる方も多いと思います。このカウンタはファイルのダウンロード回数をカウントします。本カウンタは、ダウンロードファイル1つに対して1つ必要です。複数ファイルのダウンロードカウンタはこちらをご利用下さい。
なお、本カウンタはLocation命令を使ってますので、拡張子 gif や jpg などの画像データ、cgi や pl のスクリプトファイルのカウントには使えません。
■設置方法
- メモ帳などのエディタで下のスクリプトを「コピー」「貼りつけ」し、download.cgiという名前のファイルを作成します。
- エディタで、visitor.cntという名の空のファイルを作成します。空のファイルの作り方はこちらです。
- 1行目の#!/usr/local/bin/perlをあなたのプロバイダの「perlのあるパス」に書き換えます。
多くのプロバイダはこの指定で大丈夫と思いますが、うまくいかない場合はプロバイダに問い合わせて下さい。Infowebの場合は #!/usr/bin/perl になります。
- 8行目の$url="./visitor.lzh";にダウンロードカウンタでカウントしたいファイルを置いているパスを指定します。
9行目の$file="./visitor.cnt";にダウンロードカウンタのカウント用ファイルのパスを指定します。
(注)download.cgiと同じディレクトリにvisitor.lzh、visitor.cntがある場合は上の指定になります。異なるディレクトリに有る場合は相対パスで指定します。パスの指定のしかたはこちらです。
- download.cgi、visitor.cntをサーバへ転送し、実行権755、666を設定します。
■ダウンロードファイルの表示
- ダウンロードファイルの表示は、ダウンロードさせたいファイルを<a>タグを使って次のように記述します。
<a href="./download.cgi">visitor.lzh</a>
- visitor.lzhをクリックするとダウンロードを始めます。右クリックではないので注意してください。
■カウンタの表示
- カウント数の表示はSSIを使って表示したい場所に「ご利用者: <!--#exec cmd="cat ./visitor.cnt"-->名」と記述します。SSIの使えないプロバイダの場合は、表示用のスクリプトを新たに作成する必要があります。
下のスクリプトをマウスでドラッグし「コピー」「貼りつけ」でコピーできます。
#!/usr/local/bin/perl
#↑perlの存在するpathに書き換えてください。
#############################################################################
# ダウンロードカウンタ download.cgi
# Copyright (c) 1998 「菊池さん」
#############################################################################
# 書き換えるところ
$url="./visitor.lzh"; #ダウンロードファイルのURL
$file="./visitor.cnt"; #ダウンロードカウンタの格納場所
# 書き換えるところ(ここまで)
open(CNTF,"+< $file")||open(CNTF,">$file")||do{print "ERR";exit;};
eval 'flock(CNTF,2);';
$cnt=;
$cnt ++;
seek(CNTF, 0,0);
printf CNTF "%d", $cnt;
eval 'flock(CNTF,8);';
close(CNTF);
# ファイルのダウンロード
print "Location: $url\n\n";
|
|
|