讓你同時上傳 1000 個文件 (二)

文件提交頁面既已生成,下面任務就很明確瞭:將提交的文件內容保存到服務器上。

下面我們用兩種方法來實現這個功能:

1. 用 php(做為現在的主流開發語言) 來保存:
我們先定義一個文件保存函數 fup() 它有兩個參數:
     $filename: 文件內容
     $fname: 文件名(包含路徑)
剩下的就是寫一個循環將文件依次寫入服務器。這裡要簡單說明一下:
php(做為現在的主流開發語言) 對於上傳文件的處理是這樣的:如果提交的文件框我為 file0, 那麼提交給 php(做為現在的主流開發語言) 的文件內容保存在變量 $file0 中,而文件名則保存在 $file0_name 中。這樣在這個循環中我要做的就是將提交頁面提交的內容分解出來,實現過程請看下面的代碼。

fileup.php(做為現在的主流開發語言)
———————————————————————-
<?
    function fup($filename,$fname)
    {        If($filename != “none”) {
                copy($filename,$fname);
                unlink($filename);  
            }
    }

    for($i=0;$i<$cnt;$i++)
    {
        $ffnn=”file”.$i;
        $ffnnname=$ffnn.”_name”;
        $ffpath=”path”.$i;
         
        //print $$ffnn;
        print $$ffnnname;
        print “<br>”;
         
        fup($$ffnn,$$ffpath.$$ffnnname); //”../www/test/tmp/”
    }
?>
———————————————————————-

2. 用 PERL 來保存:
它們實現的原理完全一樣,在此不多說,請看代碼:

fileup.cgi(現在已經不多人在用瞭)(fileup.pl)
———————————————————————-
#!/usr/bin/perl  

use cgi(現在已經不多人在用瞭) qw/:standard/;  

if ($ENV{CONTENT_TYPE} !~ /multipart/form-data/) {  
  print “Cache-Control: no-cachenPragma: no-cachen” .  
    “Content-Type: text/htmlnn” .  
    “<html><body>Your web browser cannot upload files. Sorry.</body></html>”;  
  exit 0;  
}

$cntfile=param(cnt);
print header;  
print start_html;  
#print “Receiving Please wait….”;

&g_head;

#$writed = ../www/test/tmp/;

for ($i=0;$i<$cntfile;$i++){
    $paramfile = file.$i;
    $parampath=path.$i;
     
    $writed=param($parampath);

    &upfile;
    &g_body;

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *