1

如果我使用多个文件字段,则可以使用 foreach 检索这些字段。这种方法工作正常。

<input type="file" name="attachFile">
<input type="file" name="attachFile2">
<input type="file" name="attachFile3">
foreach($_FILES as $attachFile)
{
  $tmp_name = $attachFile['tmp_name'];
  $type = $attachFile['type'];
  $name = $attachFile['name'];
  $size = $attachFile['size'];
}

如果我对不起作用的 HTML5 多文件字段执行相同操作。这是下面的例子,我没有运气。它也不会产生任何错误。

<input multiple="multiple" type="file" name="attachFile">
foreach($_FILES['attachFile'] as $attachFile)
{
  $tmp_name = $attachFile['tmp_name'];
  $type = $attachFile['type'];
  $name = $attachFile['name'];
  $size = $attachFile['size'];
}
4

1 回答 1

1

像这样做。创建一个函数并首先确定附加了多少文件。使用该功能附加每个文件。

function reArrayFiles(&$attachFile) 
  {
        $file_ary = array();
        $file_count = count($attachFile['name']);
        $file_keys = array_keys($attachFile);
        for ($i=0; $i<$file_count; $i++) 
       {
            foreach ($file_keys as $key) 
            {
                $file_ary[$i][$key] = $attachFile[$key][$i];
            }
        }
        return $file_ary;
    }


          $file_ary = reArrayFiles($_FILES['attachFile']); 
          foreach($file_ary as $file)
          {
             $tmp_name = $file['tmp_name'];
             $type = $file['type'];
             $name = $file['name'];
             $size = $file['size'];
          }

并正确使用多个文件的输入。

<input multiple="multiple" type="file" name="attachFile[]">
于 2013-03-16T08:53:10.637 回答