代码之家  ›  专栏  ›  技术社区  ›  TheLQ

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

  •  1
  • TheLQ  · 技术社区  · 14 年前

    我试图修改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");
    }
    

    所做的只是检查请求的内容长度(其中包含多个文件),当 全部的 大于允许的最大大小。

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

    1 回复  |  直到 14 年前
        1
  •  1
  •   Matthew J Morrison    14 年前

    我不知道你说的“改变上传脚本不是一个选择”是什么意思,但是你试过这样的方法吗?

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