![]() |
| カレッヂ |
質問者 KTH
投稿日 11/12(水) 15:37:54
現在、ファイルサイズの制限付きでアップロードを実行するプログラムを作成中で、
以下のように作ってみました。
use CGI qw(:standard);
$file1 = param('file1');
open FILE, "$file1";
$size = (-s "File");
if( $size > 2048 ) {
print "ファイルが大きすぎます\n";
exit;
}
close FILE;
open OUT, "> $file1";
while(<$file1>) {
print OUT $_;
}
close OUT;
@filename = split( /\\/, $file1 );
$file_a = pop @filename;
rename ($file1, "../../aaaa/bbbb/$file_a");
print "Content-Type: text/html\n\n";
print "<html><head><title>書き込み終了</title></head>\n";
print "<body>\n";
print "データが正常に書き込まれました。<br>\n";
print "</body></html>\n";
exit;
とりあえずファイルのアップロードはできたのですが、ファイルサイズの制限ができないでい
ます。
($size = (-s "File");でファイルサイズを読み、次のif文で2048byteより大きかったらエラー
を出すとしたつもりでしたが、このif文が動作せず、2048byte以上でもアップロードされてしま
います。)
これは、どこが悪いのでしょうか?
初心者的な質問で大変申し訳ございませんが、教えていただけないでしょうか?
宜しくお願い致します。
プロバイダ参照: |
質問者 KTH
[削除]
投稿日 11/12(水) 17:34:28
自己レスです
$size = (-s "File");を使用せずに、$ENV{'CONTENT_LENGTH'}を使用したら、上手く行きました。
お騒がせして失礼しました。
また何かあったら宜しくお願いします。 |
このページは終了したので返信(回答)は書きこめません
| Web裏技 |