2017-09-13 51 views
-2

我想製作一個表單來上傳多個文件。我有以下一段代碼如何在php中將單個輸入的文件上傳代碼修改爲多個輸入?

<?php 
if (isset($_POST['submit'])) { 
    $file = $_FILES['file']; 

    $fileName = $file['name']; 
    $fileTmpName = $file['tmp_name']; 
    $fileSize = $file['size']; 
    $fileError = $file['error']; 
    $fileType = $file['type']; 

    $fileExt = explode('.', $fileName); 
    $fileActualExt = strtolower(end($fileExt)); 

    $allowed = array('jpg', 'jpeg', 'png'); 

    if (in_array($fileActualExt, $allowed)) { 
     if ($fileError === 0) { 
      if ($fileSize < 1000000) { 
       $fileNameNew = uniqid('', true).".".$fileActualExt; 
       $fileDestination = 'uploads/'.$fileNameNew; 
       move_uploaded_file($fileTmpName, $fileDestination); 
      } 
      else { 
       echo "file size is too large"; 
      } 
     } else { 
      echo "There was an error uploading your file"; 
     } 
    } else { 
     echo "File type is not accepted"; 
    } 
} 
?> 


<form action="" method="POST" enctype="multipart/form-data"> 
    <input type="file" name="file"> 
    <button type="submit" name="submit">UPLOAD</button> 
</form> 

我希望此代碼接受四個文件輸入以及相同的驗證。我嘗試使用多維數組來做這件事,但它搞砸了。任何人都可以幫助我做到這一點,這對我很有幫助。

+2

你需要把文件輸入爲數組,一兩件事。在php.net網站上有這樣做的例子。 –

+0

thanx的建議:-),請您修改此代碼以接受四個輸入。 –

+0

建議是讓你閱讀手冊,學習,然後嘗試自己做。 SO不是一個免費的編碼服務,您只需粘貼一些代碼並要求我們爲您修改它。你實際上需要做自己的研究和工作。如果您隨後在代碼中遇到一些具體的_issue_,我們將很樂意提供幫助。 –

回答

-1

您在整個文件array.something一樣,需要循環:

<?php 
if (isset($_POST['submit'])) { 

    foreach ($_FILES as $key => $value) { 
     $file = $_FILES[$key]; 
     $fileName = $file['name']; 
     $fileTmpName = $file['tmp_name']; 
     $fileSize = $file['size']; 
     $fileError = $file['error']; 
     $fileType = $file['type']; 

     $fileExt = explode('.', $fileName); 
     $fileActualExt = strtolower(end($fileExt)); 

     $allowed = array('jpg', 'jpeg', 'png'); 

     if (in_array($fileActualExt, $allowed)) { 
      if ($fileError === 0) { 
       if ($fileSize < 1000000) { 
        $fileNameNew = uniqid('', true).".".$fileActualExt; 
        $fileDestination = 'uploads/'.$fileNameNew; 
        move_uploaded_file($fileTmpName, $fileDestination); 
       } 
       else { 
        echo "file size is too large"; 
       } 
      } else { 
       echo "There was an error uploading your file"; 
      } 
     } else { 
      echo "File type is not accepted"; 
     } 
    } 
} 
?> 
+0

thanX Anees :-),在HTML部分,它將如何執行其餘三個輸入的驗證? –

+0

我猜你可以在那個循環之後處理其他輸入。 –

相關問題