如何使用 PHP 上傳多個檔案並將其儲存在資料夾中?


以下是上傳多個檔案並將它們儲存在資料夾中的步驟 -

  • 輸入名稱必須定義為一個數組,即 name="inputName[]"
  • 輸入元素應具有 multiple="multiple" 或僅 multiple
  • 在 PHP 檔案中,使用語法 "$_FILES['inputName']['param'][index]"
  • 必須檢查空檔名稱和路徑,因為該陣列可能包含空字串。為了解決此問題,請在 count 前使用 array_filter()。

以下是程式碼的演示 -

HTML

<input name="upload[]" type="file" multiple="multiple" />

PHP

$files = array_filter($_FILES['upload']['name']); //Use something similar before processing files.
// Count the number of uploaded files in array
$total_count = count($_FILES['upload']['name']);
// Loop through every file
for( $i=0 ; $i < $total_count ; $i++ ) {
   //The temp file path is obtained
   $tmpFilePath = $_FILES['upload']['tmp_name'][$i];
   //A file path needs to be present
   if ($tmpFilePath != ""){
      //Setup our new file path
      $newFilePath = "./uploadFiles/" . $_FILES['upload']['name'][$i];
      //File is uploaded to temp dir
      if(move_uploaded_file($tmpFilePath, $newFilePath)) {
         //Other code goes here
      }
   }
}

列出檔案,並將需要上傳的檔案數計數儲存在 total_count 變數中。建立臨時檔案路徑,並迭代地將每個檔案放入包含資料夾的此臨時路徑中。

更新於: 06-Apr-2020

17K+ 次瀏覽

開啟你的 職業生涯

完成課程以獲得認證

開始
廣告