Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 检查CGI上载中每个文件的长度,而不是整个请求的长度_Perl_Upload_Cgi - Fatal编程技术网

Perl 检查CGI上载中每个文件的长度,而不是整个请求的长度

Perl 检查CGI上载中每个文件的长度,而不是整个请求的长度,perl,upload,cgi,Perl,Upload,Cgi,我试图修改Uber Uploader perl脚本,以便在检查上传是否满足最低要求时,检查每个文件,而不仅仅是整个请求 我对perl不是很有经验,也不知道如何做到这一点。目前,该脚本仅执行以下操作: elsif($ENV{'CONTENT_LENGTH'} > $config{'max_upload_size'}){ my $max_size = &format_bytes($config{'max_upload_size'}, 99); die("Maximum upload s

我试图修改Uber Uploader perl脚本,以便在检查上传是否满足最低要求时,检查每个文件,而不仅仅是整个请求

我对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");
}
所做的只是检查请求的内容长度(包含多个文件),当总数大于允许的最大大小时失败

有没有办法检查每个文件


注意:更改上载脚本不是一个选项。不要尝试

我不知道你说的“更改上传脚本不是一个选项”是什么意思,但是你试过类似的方法吗

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");
    }
}

(注意:这是未经测试的代码!!!!)

我不确定您所说的“更改上载脚本不是一个选项”是什么意思,但您是否尝试过类似的方法

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");
    }
}
(注意:这是未经测试的代码!!!!!)