国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

php 多檔案上傳

介紹了PHP上傳單一檔案的過程。但有些時(shí)候,為了使用方便,我們需要滿足同時(shí)上傳多個檔案的需求。多文件上傳原理相同,不過在處理資料時(shí),需要對上傳資料進(jìn)行特殊處理。

<html> 
   <head> 
       <meta charset="utf-8" /> 
       <title>單文件上傳</title> 
   </head> 
   <body> 
       <form action="morefile.php" method="post" enctype="multipart/form-data"> 
        <input type="file" name="file[]"> 
        <input type="file" name="file[]"> 
        <input type="submit" value="上傳"> 
    </form> 
   </body> 
</html>

這裡有一個簡易的上傳頁面,form表單同時(shí)提交了兩個檔案。我們 可以透過這個頁面提交內(nèi)容。

注意:

????1.input type="file" name="file[]"與之前比較file後多加了一個中括號

????2.寫了2個或多個input type="file" name="file[]"?
#我們使用$_FILES 來接收檔案訊息,列印並查看數(shù)組:

<?php 
var_dump($_FILES); //打印$_FILES查看數(shù)組結(jié)構(gòu) 
?>

陣列結(jié)構(gòu)如下

array (size=1)  
    'file' =>  
        array (size=5) 
    'name' =>  
        array (size=2) 
        //文件名 
        0 => string 'psu.jpg' (length=7) 
        1 => string 'qwe.jpg' (length=7) 
    //文件mime類型 
    'type' => array (size=2) 
            0 => string 'image/jpeg' (length=10) 
            1 => string 'image/jpeg' (length=10) 
    //緩存文件 
    'tmp_name' =>  
        array (size=2) 
            0 => string 'E:\wamp\tmp\phpF6D5.tmp' (length=23) 
            1 => string 'E:\wamp\tmp\phpF6F5.tmp' (length=23) 
    //文件錯誤信息 
    'error' =>  
        array (size=2) 
            0 => int 0 
            1 => int 0 
    //文件大小 
    'size' =>  
        array (size=2) 
        0 => int 225824     
        1 => int 151651

我們可以看到,兩個檔案被儲存在一個陣列中,鍵名和上傳單檔案是相同。所以,需要我們用for()循環(huán),來分別取出兩個檔案的需要用到的資料。

在$_FILES中同時(shí)保存了兩個檔案的數(shù)據(jù),我們需要使用一個簡單的循環(huán),來讀取單一檔案的信息,並將檔案移到我們想要放的位置。

<?php
for ($i=0; $i < count($_FILE['file']['name']); $i++) {  

/* 
用is_uploaded_file()函數(shù)判斷是上傳文件 
并且沒有出現(xiàn)錯 
*/ 

   if(is_uploaded_file($_FILEs['file']['tmp_name'][$i]) && $_FILEs['file']['error'][$i] == 0){     
       if(move_uploaded_file($_FILEs['file']['tmp_name'][$i],'upload/'.$_FILE['file']['name'][$i])){
   //用move_uploaded_file()函數(shù)移動文件到指定的位置并使用文件原名 
   echo "上傳成功"; 

       }else{ 

           echo '上傳失敗'; 

       } 

   }else{ 

       echo '上傳失敗'; 

   } 

} 
?>

詳細(xì)的判斷過程,請參考單一檔案上傳,這裡只做了基本的判斷,並沒有對檔案的大小及格式提醒。?
請依照業(yè)務(wù),自行判斷檔案大小及格式進(jìn)行錯誤提醒。

繼續(xù)學(xué)習(xí)
||
<?php var_dump($_FILES); //打印$_FILES查看數(shù)組結(jié)構(gòu) ?>
提交重置程式碼