2013-02-20 67 views
2

我使用下面的代碼上傳單個文件。有了這段代碼,我可以上傳單個文件到數據庫。我想通過在一個單一的文件中選擇多個文件來上傳多個文件輸入類型文件 。我應該在代碼中進行哪些更改以使其上傳多個文件?多文件上傳PHP

<?PHP 
INCLUDE ("DB_Config.php"); 
$id=$_POST['id']; 
$fileTypes = array('txt','doc','docx','ppt','pptx','pdf'); 
$fileParts = pathinfo($_FILES['uploaded_file']['name']); 
if(in_array($fileParts['extension'],$fileTypes)) 
{  
    $filename = $_FILES["uploaded_file"]["name"]; 
    $location = "E:\\test_TrainingMaterial/"; 
    $file_size = $_FILES["uploaded_file"]["size"]; 
    $path = $location . basename($_FILES['uploaded_file']['name']); 
    if(file_exists($path)) 
    { 
     echo "File Already Exists.<br/>"; 
     echo "Please Rename and Try Again"; 
    } 
    else 
    { 
     if($file_size < 209715200) 
     { 
      $move = move_uploaded_file($_FILES["uploaded_file"]["tmp_name"], $location . $_FILES['uploaded_file']['name']); 
      $result = $mysqli->multi_query("call sp_upload_file('".$id."','" . $filename . "','".$path."')"); 
      if ($result) 
      { 
       do { 
        if ($temp_resource = $mysqli->use_result()) 
        { 
         while ($row = $temp_resource->fetch_array(MYSQLI_ASSOC)) { 
          array_push($rows, $row); 
         } 
         $temp_resource->free_result(); 
        } 
       } while ($mysqli->next_result()); 
      } 
      if($move) 
      { 
       echo "Successfully Uploaded"; 
      } 
      else 
      { 
       echo "File not Moved"; 
      } 
     } 
     else 
     { 
      echo "File Size Exceeded"; 
     } 
    } 
} 
else 
{ 
    echo " Invalid File Type"; 
} 
?> 

所使用的HTML是

<form id = "upload_form" method="post" enctype="multipart/form-data" > 
    <input type="file" name="uploaded_file" id="uploaded_file" style="color:black" /><br/> 
</form> 
+0

更多信息通常我會建議使用像plupload的上傳(http://www.plupload.com/)。這些上傳者還有很多。 – Manuel 2013-02-20 08:35:08

回答

3

基本上你需要添加到輸入名稱括號[]和屬性「多」

<form id = "upload_form" method="post" enctype="multipart/form-data" > 
    <input type="file" name="uploaded_file[]" multiple="true" id="uploaded_file" style="color:black" /><br/> 
</form> 

現在,所有上傳的文件將可用通過

$_FILES['uploaded_file']['name'][0] 
$_FILES['uploaded_file']['name'][1] 

等在 http://www.php.net/manual/en/features.file-upload.multiple.php