#! /usr/bin/perl # # updown2.cgi # # 2.224 : 8/31/09 : IEでのマイナーな表示修正 # 2.223 : 8/8/09 : 管理設定のコメントを修正 # 2.222 : 8/6/09 : ダウンロードモード設定オプションを追加 # 2.221 : 2/12/08 : copyrightを修正 # 2.220 : 12/20/07 : エラーメッセージを修正 # 2.219 : 12/7/07 :
内挿入文にページ下を追加 # 2.218 : 11/3/07 : アップロードページ別ページオプションを追加 # 2.217 : 9/12/07 : 管理用削除オプションを追加 # 2.216 : 5/31/07 : タイトル変更機能を追加 # 2.215 : 5/30/07 : ファイルサイズの単位を修正 # 2.214 : 5/29/07 : 1ページ表示件数オプションを追加 # 2.213 : 2/18/07 : ファイル置き換え機能を追加 # 2.212 : 1/24/07 : 管理用設定のタイトルに半角スペースを適用できるよう修正 # 2.211 : 1/3/07 : body内挿入分の「タイトルの下」を修正 # 2.210 : 12/6/06 : Divide by zeroを修正 # 2.209 : 11/23/06 : ファイル総サイズ表示、総アップロードサイズ制限、制限処理を追加 # 2.208 : 11/16/06 : 時間設定モードを追加 # 2.207 : 10/25/06 : ダウンロードページへ移動のオプションを追加 # 2.206 : 8/24/06 : セットアップファイル作成を修正 # 2.205 : 8/9/06 : ページ内挿入分設定を追加 # 2.204 : 8/7/06 : カウントファイル更新を修正 # 2.203 : 6/4/06 : ファイル削除時の処理を修正 # 2.202 : 5/30/06 : エラーメッセージを修正 # 2.201 : 5/12/06 : 拡張子を省略した場合元の拡張子を使うように修正 # 2.2 : 5/10/06 : updown.cgiから機能追加 # # http://www.hidekik.com # # $Id: updown2.cgi,v 1.36 2009/08/07 15:12:17 Hideki Kanayama Exp $ # Copyright(c) 2002-2008 Hideki Kanayama All rights reserved use strict; use CGI qw(:cgi-lib); use CGI::Carp qw(fatalsToBrowser); use File::Copy; use File::Basename; my $version = "2.224"; my $lastmodifiedyear = "2009"; my $admindat = "adminpwd.dat"; my $uppwddat = "uppwd.dat"; my $dlpwddat = "dlpwd.dat"; my $setupfile = "updown_setup.pl"; my $script = basename($0); my $charset = "Shift_JIS"; ############# 環境設定ここから ######################## our $dldir = "../updown"; our $dllistfile = "updown.lst"; our $dlcountfile = "dlcount.lst"; # バックグラウンド設定 our $bgimage_en = 0; our $bgimagefile="sample.jpg"; our $bgcolor="#ffffff"; #タイトル our $title = 'アップダウン2'; #トップへのリンク our $toplink_en = 1; our $toplink_link = "../updown2.html"; our $toplink_title = 'トップへ'; # アップロード禁止な拡張子 our $prohibit_en = 1; our $prohibit_extention = "cgi pl"; # 半角スペースで区切る #アップファイル最大サイズ(MB) our $maxsize2 = 10; #アップロードできる合計ファイルサイズ制限 1:有効 0:無効 our $total_maxsize_en = 0; #アップロードできる合計ファイルサイズ制限有効時のサイズ(MB) our $total_maxsize = 100; #合計ファイルサイズに達した場合の処理 0:アップロード禁止 1:古いファイルを削除 our $after_reached_limit = 0; #合計ファイル数、サイズ、平均表示 1:有効 0:無効 our $total_number_en = 1; our $total_size_en = 1; our $average_size_en = 1; #ダウンロードカウンター表示 1:有効 0:無効 our $dlcount_disp_en = 1; #アップロードパスワード 1:有効 0:無効 our $uppwd_en = 0; #ダウンロードパスワード 2:全ファイル共通 1:個別ファイルごと 0:無効 our $dlpwd_en = 0; #管理人のみ削除可能 1:有効 0:無効 our $del_by_admin_only = 0; #アップロードページ別ページ 1:有効 0:無効 our $uppage_en = 0; # ダウンロードページへ移動 1:有効 0:無効 our $goto_dlpage = 0; # 1ページ表示件数 1:有効 0:無効 our $page_en = 0; our $disp_num_in_a_page = 50; # 名前をつけて保存強制表示 our $octet_en = 1; #スタイルシート our $style_sheet_en = 1; our $style_sheet = ' '; #挿入文 our $head_insert_en = 0; our $head_insert = ''; #ページ上部に表示させる文 1:on, 0:off our $body_insert1_en = 0; our $body_insert2_en = 0; our $body_insert3_en = 0; our $body_insert4_en = 0; our $body_insert1 = ''; our $body_insert2 = ''; our $body_insert3 = ''; our $body_insert4 = ''; # 時間設定 our $localtime_en = 1; our $offset_from_gmt = 9; ############# 環境設定ここまで ######################## if (-e "$setupfile"){ require "$setupfile"; } my $bgset; if ($bgimage_en == 1){ $bgset = "background=¥"$bgimagefile¥""; } else { $bgset = "bgcolor=¥"$bgcolor¥""; } $CGI::POST_MAX = $maxsize2 * 1048576; my $maxsize = $CGI::POST_MAX; if ($maxsize > 1048576){ $maxsize = sprintf("%.1fMB",$maxsize/1048576); } elsif ($maxsize > 1024){ $maxsize = sprintf("%.1fkB",$maxsize/1024); } else { $maxsize = sprintf("%dB",$maxsize); } my $q = new CGI; my $cgierror = $q->cgi_error; &error($cgierror) if ($cgierror); my %in = $q->Vars; while (my ($key,$value)=each %in){ if ($key ne 'upfile'){ $value =~ s/</g; $value =~ s/>/>/g; my $br; if ($key eq 'style_sheet' || $key eq 'head_insert' || $key eq 'body_insert1' || $key eq 'body_insert2' || $key eq 'body_insert3' || $key eq 'body_insert4' ){ $br = "
|
|
データディレクトリ | |
データファイル | |
ダウンロードカウントファイル | |
バックグランド |
画像を使う
カラー設定にする 画像を使う場合の画像ファイル カラー設定の場合のカラー番号(白:¥#ffffff 又は white) |
タイトル | |
トップへのリンク表¥示 |
有り
無し トップのリンク先 リンク名 |
アップロード禁止 |
無効
有効 拡張子半角スペースで区切ってください |
アップファイル最大サイズ | MB |
アップロードできる合計ファイルサイズ制限 |
有効
無効 有効時にアップロードできる合計ファイルサイズ MB 合計ファイルサイズに達した場合の処理 アップロード禁止 古いファイルを削除 |
合計ファイル数、サイズ、平均表¥示 |
ファイル数
有効
無効 ファイルサイズ 有効 無効 平均ファイルサイズ 有効 無効 |
ダウンロードカウンター表¥¥示 | 表¥¥示 非表¥¥示 |
アップロード用パスワード | 有効 無効 |
ダウンロード用パスワード | 全ファイル共通 個別のファイルごと 無効 |
削除オプション |
「有効」の場合、アップロード時の削除用パスワードは入れても入れなくてもアップロードできます。 管理人のみ削除可能¥ 誰でも削除可能¥ |
アップロードページを別ページ |
有効
無効 |
ダウンロードモード |
「名前をつけて保存」強制表¥示 有効 無効 「名前をつけて保存」強制表¥示「無効」の時、ダウンロードページへ移動 有効 無効 上記二つとも「無効」の場合は、ダウンロード時にブラウザのデフォルトのMIME Typeに従って処理されます。 |
1ページ表¥示件数制限 |
有効
無効 有効時に1ページに表¥示される件数 |
<head>内挿入文 |
有効
無効 HTML書式 ポップアップ広告やJavascript、<META>を挿入したい場合にここに記述する。 以下の記述が<head>〜</head>内に挿入される。 |
スタイルシート |
有効
無効 |
<body>内挿入文 |
ページ上部に表¥示される文をHTMLで記述。ルールやコメント、広告やアクセスカウンタ、リンクなど記すことができます。 タイトルの上 有効 無効 タイトルの下 有効 無効 更新時間表¥示の下 有効 無効 ページ下 有効 無効 |
時間設定 |
GMTからのオフセット
ローカルタイム GMTからのオフセットに設定した場合、GMTより時間(日本:+9時間) |
¥n"; } else { print "
¥n";
&displist($allnum);
}
my @pr;
my $total_num = $#alldata + 1;
print "
¥n";
print "
このページの合計ファイルサイズ:" . &size_convert($partial_size) if ($total_size_en and $page_en);
push @pr, "合計ファイル数:$total_num" if ($total_number_en);
push @pr, "合計ファイルサイズ:" . &size_convert($total_size) if ($total_size_en);
my $mean_size;
if ($#alldata == -1){
$mean_size = 0;
} else {
$mean_size = $total_size/($#alldata+1);
}
push @pr, "平均ファイルサイズ:" . &size_convert($mean_size) if ($average_size_en);
if ($total_number_en or $total_size_en or $average_size_en) {
print "
¥n";
print join ", ", @pr;
}
print "
¥n); print qq($bodyをダウンロードする
¥n); print qq($titleへ戻る¥n); print qq(