【问题标题】:Upload multiple files to server and将多个文件上传到服务器并
【发布时间】:2012-10-27 12:54:39
【问题描述】:

我的第一篇文章,所以要温柔!我试过搜索这个并且有很多类似的帖子,但我似乎找不到任何与我的问题完全一样的东西,而且我已经在这个问题上待了好几个小时! :-/

我正在用 PHP (5.3) 和 MySQL 构建一个系统,部分功能是要求用户根据之前的一些选择上传一些文件。示例表单如下:

<form action="" method="post" enctype="multipart/form-data" id="uploadFiles">
<p>
<label for="file1">Upload file 1:</label>
<input type="file" name="file1" id="image">
</p>
<p>
<label for="file2">Upload file 2:</label>
<input type="file" name="file2" id="image2">
</p>
<p>
<input type="submit" name="upload" id="upload" value="Upload">
</p>
</form>

在这种情况下,用户需要上传两个不同的文档。这一切都对我有用,我可以将 2 个文件保存到服务器,然后通过循环“$_FILES”将 2 个记录插入到数据库中的表中,其中包含文件名、文件类型(pdf、jpg)和用户 ID 等我的上传课程。

然而,我想要做的是以某种方式将名称属性&lt;input name="foo"&gt; 添加到插入的行中,以便“文件 1”在名为 document_type 的列中具有“file1”,而“文件 2”将具有“file2”。这样我就可以在 MySQL 中做一个基本的检查,看看用户是否上传了适当的文件。

切入正题,有没有办法在我的 Upload 类中将 INPUT“名称”属性分配或关联到 $_FILES 中的每个文件,以便当我循环访问 $_FILES 时,会有一个唯一的 document_type?

如果您需要有关我的设置的更多信息,请告诉我。

【问题讨论】:

  • 你想从一个上传字段上传两个文件,或者你需要两个不同的上传字段。

标签: php html mysql post file-upload


【解决方案1】:

我相信这个问题已经得到解答,但对于未来的建议,如果您需要有关 CI 中传递参数的更多信息,您可以使用 Xdebug(我与 Netbeans 一起使用)。我只用了一个星期,它是一个很棒的工具!

【讨论】:

    【解决方案2】:

    最简单的方法是输入不使用不同的名称,但将相同的名称写入数组,例如 name="file[]"。

    【讨论】:

      【解决方案3】:

      文件 INPUT 的名称应该是 $_FILES 数组中行的键。例如,在您的示例中,$_FILES 数组应该有两行可以像这样引用:$_FILES['file1']$_FILES['file2']。因此,当您遍历数组时,只需查找该键值并将其插入行中即可。

      【讨论】:

      • 谢谢,这对我来说也非常有用和愚蠢的疏忽,尽管我的课程中的代码需要简化。现在要是我能投票就好了! ;-)
      【解决方案4】:
      foreach ($_FILES as $inputName => $uploadedFile) {
          echo $inputName, ':', PHP_EOL;
          print_r($uploadedFile);
      }
      

      输出

      file1:
      Array (
          'name' => ...
          'tmp_name' => ...
          ...
      )
      file2:
      Array (
          'name' => ...
          'tmp_name' => ...
          ...
      )
      

      【讨论】:

      • 现在我觉得自己很愚蠢! $inputName 是我需要的变量。其他答案也是正确的,因为我需要使用文件 [],但我的课程过于复杂。这简化了它。感谢您的帮助,现在一切正常! :)
      • @priley 很高兴为您提供帮助! :)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多