カレッヂ |
質問者 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裏技 |