ダウンロードランキングCGI Ver 2.3 (フリー)

通常のアクセス解析CGIでは、ファイルダウンロード数を解析することができませんが、このCGIは、ダウンロードファイルごとにダウンロード数を解析し、ランキング表示します。ランキング表示には、「全期間のランキング」「今週のランキング」「今月のランキング」「今日のランキング」「昨日のランキング」の5モードがあります。

サンプル

フリーソフト

本CGIは、フリーソフトとして公開しております。CGI 利用規定に従ってご利用頂ければ料金は発生しません。ご自由にご利用ください。

CGIのダウンロード

ダウンロードの前に、必ず、CGI 利用規定を良くお読みになり、同意したうえで、ご利用下さい。

バージョン サイズ ファイル
2.3 20.6 KB (21,159 バイト) dlrank2_3.zip ダウンロード

ファイルの一覧と機能

CGIをダウンロードし、解凍してください。それぞれのファイルについて解説します。

ファイル名 パーミッション1 パーミッション2 転送モード ファイルの機能
dlrank/
変更不要 変更不要 本CGI用ディレクトリ
dlrank.cgi
704 705 ASCII ランキング表示CGI
dlranklog.cgi
704 705 ASCII ロギング用CGI
dlconfig.cgi
変更不要 変更不要 ASCII 設定ファイル
dllist.dat
変更不要 変更不要 ASCII ダウンロードファイル説明データ
header.temp
変更不要 変更不要 ASCII 解析結果のヘッダーテンプレート
footer.temp
変更不要 変更不要 ASCII 解析結果のフッターテンプレート
mime.types
変更不要 変更不要 ASCII MIMEタイプデータファイル
dllog.cgi
変更不要 606 ASCII ログファイル
addr.dat
変更不要 606 ASCII IPアドレス蓄積データファイル
images/
変更不要 変更不要 BINARY グラフ用イメージファイル格納ディレクトリ※1
※1
CGIを設置が、cgi-bin などの専用のディレクトリを指定しているプロバイダーをお使いの方の場合、ディレクトリ images は、通常のホームページファイルを設置する場所にアップロードしてください。CGI 用のディレクトリにアップロードしても、画像が表示されませんので、ご注意ください。

転送先

 CGI ファイルと、HTML ファイルを何処に設置してもよいサーバの場合には、本 CGI を解凍したディレクトリ構成のまま、サーバへアップロードしてください。CGI ファイルは、専用のディレクトリ(cgi-bin 等)に設置しなければいけないサーバの場合には、images ディレクトリを除いたすべてのファイルを CGI 専用のディレクトリへアップロードしてください。images ディレクトリは、通常の HTML ファイル等ををアップロードする場所へアップロードしてください。

パーミッション

これらパーミッションは、あくまでも例です。お使いのプロバイダー、レンタルサーバ業者の指示に従ってください。

上表には、パーミッションの指定が 2 種類指定されております。CGI がオーナー権限で実行されるサーバをお使いの場合には、パーミッション1の設定を使ってください。CGI が ohter 権限で実行されるサーバをお使いの場合には、パーミッション2の設定を使ってください。

CGI がオーナー権限で実行されるか、other 権限で実行されるかは、お使いのプロバイダーもしくはレンタルサーバ業者に確認してください。おおむね、CGI ファイルのパーミッションが、704 でも動作する場合には、オーナー権限で実行されると考えても結構です。CGI ファイルのパーミッションが、705 もしくは 707 でないと動作しない場合には、other 権限で実行されているとお考えください。

「変更不要」と指定しているファイルは、サーバにアップロードするだけで OK です。あえてパーミッションを変更しないでください。

Perlパスの編集

プロバイダーによって、Perlパスが異なります。デフォルトでは #!/usr/local/bin/perl と設定しております。ご利用のレンタルサーバーの指示に従い、以下のファイルの Perl パスを書き換えてください。

  • dlrank.cgi
  • dlranklog.cgi

設定内容

お使いになる環境に合わせて、またお好みに合わせて、設定を変更してください。設定の変更は、すべて dlconfig.cgi を編集することにより実現します。

#--------------------------------------------------------------------
#■ランキング表示件数
#ダウンロードランキングの表示件数を指定してください。
#--------------------------------------------------------------------
my $ROW = 20;


#--------------------------------------------------------------------
#■ログファイルサイズ表示設定
#ダウンロードランキングに、ログファイルサイズを表示する機能があります。
#もし不要な場合には、「0」を指定してください。
# 0:表示しない
# 1:表示する
#--------------------------------------------------------------------
my $DSP_SIZE = 1;


#--------------------------------------------------------------------
#■ダウンロード総数表示設定
#ダウンロードランキングに、ダウンロード総数を表示する機能があります。
#もし不要な場合には、「0」を指定してください。
# 0:表示しない
# 1:表示する
#--------------------------------------------------------------------
my $DSP_CNT = 1;


#--------------------------------------------------------------------
#■ランキング表の奇数行目のBGCOLOR指定
#ランキング表は、偶数行目と奇数行目それぞれのバックカラーを設定できま
#す。ここでは奇数行目の色を16進数で指定してください。
#先頭には「#」を加えてください。(例:$BGCOLODD = '#E6EAF3';)
#--------------------------------------------------------------------
my $BGCOLODD = '#E6EAF3';


#--------------------------------------------------------------------
#■ランキング表の偶数行目のBGCOLOR指定
#ランキング表は、偶数行目と奇数行目それぞれのバックカラーを設定できま
#す。ここでは偶数行目の色を16進数で指定してください。
#先頭には「#」を加えてください。(例:$BGCOLEVEN = '#EBE1E2';)
#--------------------------------------------------------------------
my $BGCOLEVEN = '#EBE1E2';


#--------------------------------------------------------------------
#■ランキング表のFONT COLOR 指定
#ランキング表の文字の色を16進数表記で指定してください。先頭には「#」
#を加えてください。(例:$FONTCOL = '#000000';)
#--------------------------------------------------------------------
my $FONTCOL = '#000000';


#--------------------------------------------------------------------
#■グラフイメージファイルのURL
#棒グラフに使用するgifファイルをURLで指定して下さい。
#または、各CGIファイルからの相対パスで指定して下さい。
#--------------------------------------------------------------------
my $GRAPHIMAGEURL = './images/dlgraphbar.gif';


#--------------------------------------------------------------------
#■グラフの最大幅指定(ピクセル)
#棒グラフの最大長をピクセルで指定して下さい。
#--------------------------------------------------------------------
my $GRAPHMAXLENGTH = 300;


#--------------------------------------------------------------------
#■サーバの時差の調整
#海外のサーバを利用されている場合、解析結果の時間が日本時間とは、ずれ
#てしまいます。日本時間に調整するために、その時差を設定します。単位は、
#時間(hour)です。国内のサーバを利用の場合には、「0」のままにして下
#さい。
# 例:9時間進める場合には、$DLTIMEDIFF = 9;
# 9時間遅らす場合には、$DLTIMEDIFF = -9;
#--------------------------------------------------------------------
my $DLTIMEDIFF = 0;


#--------------------------------------------------------------------
#■二重カウント防止
#一定時間内に2度以上ダウンロードした場合には、カウントしないようにす
#ることができます。
#ここでは秒数で指定し、指定した秒数を経過するまで同じIPアドレスからの
#リクエストはカウントしません。
#設定を「0」にすると、二重カウント防止機能はOFFになります。しかし、
#MACのIEでダウンロードすると、一度のダウンロードで2度リクエストされ
#ますので、2度ダウンロードしたとカウントされてしまいます。したがって、
#基本的にはこの機能をOFFにしないことをお勧めします。
#--------------------------------------------------------------------
my $DOUBLE_SEC = 30;


#--------------------------------------------------------------------
#■target属性
#ダウンロードランキング表示の際に表示されるリンクのターゲットを指定
#することができます。例えば、もし別ウィンドウで開きたいのであれば、
# my $LINK_TARGET = '_blank';
#として下さい。
#--------------------------------------------------------------------
my $LINK_TARGET = '';


#####################################################################
#これ以降の設定は、通常変更しなくても動作するはずです。理由がない限り
#変更しないでください。
#####################################################################

#--------------------------------------------------------------------
#■ログファイルの指定
#--------------------------------------------------------------------
my $DLLOG = './dllog.cgi';


#--------------------------------------------------------------------
#■リストファイルの指定
#--------------------------------------------------------------------
my $LIST = './dllist.dat';

ヘッダー・フッターの編集

ランキング表示のページに関しては、header.tempfooter.temp ファイルを編集することによって、お好みのページにすることができます。ただし、スタイルシートが定義されておりますので、画面構成が崩れる可能性がありますのでご注意ください。また、著作権表示部分は削除禁止です。

ダウンロードページ説明データの編集(dllist.dat)

dllist.dat に、各ダウンロードファイルの URL ごとにタイトルと紹介ページを定義します。ここで定義したものが、ダウンロードランキングの結果表示に反映されます。下記説明に従って、dllist.dat をテキストエディタで編集してください。

################################################################################
# ダウンロードランキングCGI(ダウンロードページ説明データ)
###############################################################################
acc__タブ__http://www.futomi.com/dl/acc1_4.zip__タブ__アクセス解析__タブ__/library/acc.html
dlrank__タブ__../../library/download/dlrank1_00.zip__タブ__DLランキング__タブ__http://www.futomi.com/

1行にひとつのダウンロードファイルを定義します。全部で4つの項目がありますが、それぞれをタブで区切ります。4つの項目の意味は次のとおりです。

項目 説明
ファイル
識別コード
ひとつのダウンロードにひとつのファイル識別コードを割り振ってください。識別コードは半角英数で指定してください。
ダウンロードファイル
のURL
該当のダウンロードファイルのURLを指定してください。http:// から記述すれば、ダウンロードするときにダウンロードファイルへリダイレクトします。
「dlranklog.cgi」からの相対パスで指定すると、ダウンロードするときに、「dlranklog.cgi」がそのファイルを読み込み、出力します。
MACの Internet Explorerの場合、リダイレクト方式だとダウンロードする際に、CGIのファイル名でダウンロードしようとします。MACを考慮する場合には、この指定は相対パスで記述して下さい。
説明文 ランキング表示する際の説明分です。改行を入れずに1行で記載してください。
リンク先URL ランキング表示の説明文に張られるリンク先のURLです。ダウンロードファイルの説明ページなどを指定するといいでしょう。

行の先頭に「#」をつけると、その行は無視されます。(コメントアウト)

ダウンロードファイルへのリンク元ページの編集

今まで、ダウンロードファイルへのリンク元ページには、直接、ファイルのリンクを指定しているはずですが、そこを修正する必要があります。以下に例を挙げて説明します。

ダウンロードランキングCGIの dlranklog.cgi のURLが

http://www.hoge.com/foo/dlrank/dlranklog.cgi

だとします。そして、ダウンロードするファイルの識別コードが acc だとします。

ダウンロードファイルへのリンク元ページには、以下のとおりに記載してください。

<a href="http://www.hoge.com/foo/dlrank/dlranklog.cgi?dl=acc">ダウンロード</a>

このページのダウンロードでも本CGIが組み込まれていますので、ご参考ください。

MIME Typeの設定

ダウンロード説明ページデータファイルの編集の際、ダウンロードファイルを相対パスで指定した場合、そのファイル名の拡張子に応じて、CGIが MIME Type をブラウザーに返します。MIME Typeのデータは、「mime.types」に記述されておりますので、このファイルを編集することにより、新たなMIME Typeを追加することができます。

「mime.types」は、WWWサーバとして使われている「apache」の設定ファイル mime.typesと同じ物です。一行に、「MIME type」と「拡張子」をタブ区切りで記述して下さい。

application/zip__タブ__zip

また一つのMIME Typeに複数の拡張子を指定したい場合には、拡張子をそれぞれスペース区切りで記述して下さい。

application/zip__タブ__zip ZIP

なお、拡張子の指定は、大文字、小文字を区別しております。添付の「mime.types」ファイルはすべて小文字で指定されております。もし大文字のファイルを扱いたい場合には、上記のように、大文字の拡張子を追加して下さい。

※ ダウンロード説明ページデータファイルの編集の際、ダウンロードファイルを http:// から記述した場合には、リダイレクト方式となりますので、この MIME Types の設定は無効になります。この場合、サーバに設定された MIME Type に応じてブラウザーに送られます。

バージョンアップ方法

Ver 2.x をご利用の方

以下のファイルを上書きして下さい。

  • dlrank.cgi
  • dlranklog.cgi
  • dlfooter.temp
  • dlheader.temp

dlrank.cgi, dlranklog.cgi に関しては、1 行目の Perl のパスをチェックして下さい。また、サーバにアップロードする際には、ASCII モードで転送して下さい。

Ver 1.x をご利用の方

お手数ですが、すべてのファイルを設置し直してください。

バージョンアップ履歴

Ver 2.2 から Ver 2.3 までの更新 -
  • 先月、先週のランキングを追加した。
  • ランキング画面にて、リンクの target 指定ができるように改良した。
  • ダウンロード数、ログサイズにカンマを挿入するように改良した。
  • 海外サーバでも日本時間で表示されるように改良した。
  • エラーメッセージが表示されないバグを改修した。
Ver 2.1 から Ver 2.2 までの更新 -
  • 一部の海外サーバで文字化けする現象が起こらないよう改善した。
  • 機能追加、バグ改修をしやすいように、全面的にソースコードを書き直した。
Ver 2.0 から Ver 2.1 までの更新
  • 二重カウント防止機能を追加。MAC で Internet Explorer からダウンロードすると、一回のダウンロードで2回リクエストされるため、2重カウントされてしまっていた。この機能により、二重カウントを回避することができる。
  • MIME タイプ自動認識機能追加。ファイルの拡張子から MIME タイプを判別し、ブラウザーに該当の MIME Type を送信するようにした。(リダイレクト方式の場合には無効)
Ver 1.0 から Ver 2.0 までの更新 -
  • ランキング表示のルック&フィールを変更
  • グラフ表示機能追加
  • 今日、昨日の解析を追加
  • 時差調整機能を追加
  • ダウンロードの方式に、リダイレクトに加え、CGI から直接ダウンロードファイルを出力する方式を追加。
  • 設定ファイルのファイル名「dlconfig.pl」を「dlconfig.cgi」に変更
  • ログファイル名のデフォルト「dl.log」を「dllog.cgi」に変更
  • 各ダウンロードファイルの識別子を使うことにした。これに伴い、ダウンロードログフォーマット、ダウンロードページ説明データのフォーマット、ダウンロードページの記述の仕様が変更となった。