• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • perl文件上傳程序,支持多文件,2進制

    發表于:2007-06-11來源:作者:點擊數: 標簽:
    一個真正支持二進制文件上傳,允許多文件上傳,可以對文件后綴進行限制,生成完整信息的小程序。其實是我看了精華區的那篇文件上傳文件后,感覺有點問題,所以特此更正一下,在此也感謝以前無私奉獻的各位兄弟。。 原先的上傳由于沒有采用binmode方法,所以

    一個真正支持二進制文件上傳,允許多文件上傳,可以對文件后綴進行限制,生成完整信息的小程序。其實是我看了精華區的那篇文件上傳文件后,感覺有點問題,所以特此更正一下,在此也感謝以前無私奉獻的各位兄弟。。

    原先的上傳由于沒有采用binmode方法,所以如果上傳圖片或二進制文件都會出錯,現在這個都已經解決了,而且還可以多文件同時上傳。:)另外加了注釋。

    代碼如下:

    default.htm:

    <html>

    <body>

    <form method="POST" action="psupload.pl" ENCTYPE="multipart/form-data">

    File 1:

    <input type="file" name="FILE1">

    <br>

    File 2:

    <input type="file" name="FILE2">

    <br>

    <input type="submit" value="Upload!">

    </form>

    </body>

    </html>

    psupload.pl:

    #如果用CGI方式來行動這個文件,請把下段路徑改成你的機器配置

    #!f:/activeperl/bin/perl

    use CGI;

    $upfilecount = 1;

    $maxuploadcount = 2; #限制上傳文件的最大數

    $basedir = "c:/perltest/perlupload"; #上傳的文件存放地址

    $allowall = "no"; #是否不限制文件后綴上傳

    @theext =(".zip",".exe",".gif"); #要限制的文件后綴名

    print "Content-type: text/html\n\n";

    while ($upfilecount <= $maxuploadcount) {

    my $req = new CGI;

    my $file = $req->param("FILE$upfilecount");

    if ($file ne "") {

    my $fileName = $file;

    $fileName =~ s/^.*(\\|\/)//; #用正則表達式去除無用的路徑名,得到文件名

    my $newmain = $fileName;

    my $filenotgood;

    if ($allowall ne "yes") {

    $extname = lc(substr($newmain,length($newmain) - 4,4)); #取后綴名

    for(my $i = 0; $i < @theext; $i++){ #這段進行后綴名檢測

    if ($extname eq $theext[$i]){

    $filenotgood = "yes";

    last;

    }

    }

    }

    if ($filenotgood ne "yes") { #這段開始上傳

    open (OUTFILE, ">$basedir/$fileName");

    binmode(OUTFILE); #務必全用二進制方式,這樣就可以放心上傳二進制文件了。而且文本文件也不會受干擾

    while (my $bytesread = read($file, my $buffer, 1024)) {

    print OUTFILE $buffer;

    }

    close (OUTFILE);

    $message.=$file . " 已成功上傳!<br>\n";

    }

    else{

    $message.=$file . " 文件后綴不符合要求,上傳失敗!<br>\n";

    }

    }

    $upfilecount++;

    }

    print $message; #最后輸出上傳信息



    原文轉自:http://www.kjueaiud.com

    ...
    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>