如何使用PHP上传多个文件并将其存储在文件夹中?

以下是上传多个文件并将其存储在文件夹中的步骤-

  • 输入名称必须定义为数组,即name =“ inputName []”

  • 输入元素应具有多个=“多个”或仅多个

  • 在PHP文件中,使用语法“ $_FILES ['inputName'] ['param'] [index]”

  • 由于数组可能包含空字符串,因此必须检查空文件名和路径。要解决此问题,请在计数之前使用array_filter()。

以下是代码的演示-

的HTML

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

的PHP

$files = array_filter($_FILES['upload']['name']); //Use something similar before processing files.
//计算数组中上传文件的数量
$total_count = count($_FILES['upload']['name']);
//遍历每个文件
for( $i=0 ; $i < $total_count ; $i++ ) {
   //获得临时文件路径
   $tmpFilePath = $_FILES['upload']['tmp_name'][$i];
   //文件路径必须存在
   if ($tmpFilePath != ""){
      //设置我们的新文件路径
      $newFilePath = "./uploadFiles/" . $_FILES['upload']['name'][$i];
      //文件上传到temp dir-
      if(move_uploaded_file($tmpFilePath, $newFilePath)) {
         //其他代码在这里
      }
   }
}

列出文件,并将需要上传的文件数存储在“ total_count”变量中。创建一个临时文件路径,并将每个文件迭代地放入保存文件夹的该临时路径中。