如何使用 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+ 次浏览

开启你的 职业生涯

完成课程以获得认证

开始
广告