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

phpserver side programmingprogramming更新于 2025/6/28 2:52:17

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

  • 输入名称必须定义为数组,即 name="inputName[]"
  • 输入元素应包含 multiple="multiple" 或 multiple
  • 在 PHP 文件中,使用语法"$_FILES[&39;inputName&39;][&39;param&39;][index]"
  • 由于数组可能包含空字符串,因此必须检查文件名和路径是否为空。要解决此问题,请在计数之前使用 array_filter()。

以下是代码的演示 −

HTML

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

PHP

$files = array_filter($_FILES['upload']['name']); //在处理文件之前使用类似的方法。
// 计算数组中已上传文件的数量
$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];
      //文件已上传到临时目录
      if(move_uploaded_file($tmpFilePath, $newFilePath)) {
         //其他代码在此处
      }
   }
}

文件已列出,需要上传的文件数量存储在"total_count"变量中。创建一个临时文件路径,并将每个文件迭代放入此包含文件夹的临时路径中。


相关文章