2010-06-29 46 views
1

我試圖修改Uber-Uploader perl腳本,以便在檢查上傳時是否滿足最低要求,它會檢查每個文件而不是整個請求。檢查每個文件的長度而不是CGI上傳的整個請求

我對Perl不太瞭解,不知道該怎麼做。目前,該腳本簡單地做到這一點:

elsif($ENV{'CONTENT_LENGTH'} > $config{'max_upload_size'}){ 
my $max_size = &format_bytes($config{'max_upload_size'}, 99); 
die("Maximum upload size of $max_size exceeded"); 
} 

所有這一切確實是檢查請求(其中包含多個文件)的內容長度,當超過允許的最大尺寸更大的失敗。

有沒有一種方法可以檢查每個文件?

注意:更改上傳腳本不是一個選項。不要嘗試

回答

1

我不確定你的意思是「更改上傳腳本不是一個選項」,但你有沒有試過類似的東西?

my $q = CGI->new(); 
my @files = $q->upload(); 

foreach my $file (@files){ 
    if ((-s $file) > $config{'max_upload_size'}){ 
     die("Maximum upload size of $file exceeded"); 
    } 
} 

(注:這是未經測試的代碼!!!!!)

+0

會試試看,謝謝 – TheLQ 2010-07-01 19:27:41

相關問題