last updata : 1999/12/21

download.cgi (Perlスクリプト)

特 徴

このホームページのダウンロード数を調べているCGIです。ダウンロードの目安としています。 基本的にアンカータグ(<A href="~)に埋め込んで使用します。 ダウンロード用に特化されていますので、通常のリンクカウンタとしては使えません。

  1. 特定のディレクトリにあるファイルのみ指定が可能です。 他のWWWサーバーは、指定できません。
  2. 指定されたファイルが無い場合は、エラーメッセージを出します。

Ver1.8 更新 (1999/12/18)

ここから ダウンロード[down18.lzh] ができます。

download.cgiの動作の最適化を行なっています。 また、タウンロードのカウンタをランキング表示できるranking.cgiを付属しました。

注意点. Ver1.5以前とカウンタファイル名の生成方法が変わりました。

download.cgi 設定について

設置するwwwサーバーは、環境変数の SERVER_NAME(サーバー名)と SCRIPT_NAME(スクリプト名)が使用できる必要があります。

1行目 - Perlのパス設定

#!/usr/local/bin/perl

各プロバイダの設定に合わせて変更してください。

変数設定

$downdir - ダウンロードするファイルがあるディレクトリ

この文字列は、downroad.cgiのある位置から見たダウンロードするファイルのあるディレクトリを相対アドレスで設定する必要があります。 内部処理で、ファイルの確認やURLに変換する為絶対アドレスは使用不可です。

$countdir - カウントファイルを生成するディレクトリ

ファイル名から自動的にカウントファイルを生成します。そのためディレクトリのパーミッションを0777または0707にする必要があります。 相対アドレス/絶対アドレス共に使用可能です。またロックファイルもここに作られます。

$flk - ファイルロック機能

ファイルを同時書き込みを禁止する為に、排他的処理を行なう機能です。 0 で機能を使わない。 1 で機能を使う設定になります。 いつも「混雑しています。」のメッセージが返って来る以外は、使用する設定にしてください。

設置について

基本構成
/public_html/            パーミッション
    |- download.html        <644>(ダウンロードのリンクが有るhtml)
    |- /cgi-bin/
    |     |- download.cgi   <755>
    |     |- /log/          <777>
    |          |- xxx.cnt   <666>(カウントファイルは自動生成)
    |- /files/
          |- xxx.lzh        <644>(ダウンロードするファイル)

download.cgi の設置と logディレクトリを作ります。

download.htmlに書くcgiの使用方法

タグの書き方は、下記を参照してください。 相対アドレス指定または絶対アドレス指定が可能です。 ?file= 以降は、ダウンロードファイル名のみを書きます。


<a href="./cgi-bin/download.cgi?file=xxx.lzh">ダウンロード[xxx.lzh]</a>
<a href="http://www.hoge/~name/cgi-bin/download.cgi?file=xxx.lzh">ダウンロード[xxx.lzh]</a>

SSIが使えるサーバーの場合カウント数が表示できます。
参照数 <!--#include virtual="./cgi-bin/log/xxx.cnt"-->
<a href="./cgi-bin/download.cgi?file=xxx.lzh">ダウンロード[xxx.lzh]</a>