2010-06-29 42 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

相关问题