$ _FILES数组名称分配

时间:2013-08-24 16:30:23

标签: php

我找不到任何重复的问题,但如果有问题则道歉。

对于多个PHP文件上传,无论如何命名数组索引。 E.g。

<input type='file' name='file['file1']'>

所以,而不是通过这个收集数据:

$_FILES['file'][0]

你通过这个得到它:

$_FILES['file']['file1']

3 个答案:

答案 0 :(得分:3)

PHP手册在the relevant page上有几个例子;它继续解释:

  

PHP还可以在表单变量的上下文中理解数组(参见the related faq)。

“相关常见问题解答”说:

  

也可以为阵列分配特定的键:

<input name="AnotherArray[]" />
<input name="AnotherArray[]" />
<input name="AnotherArray[email]" />
<input name="AnotherArray[phone]" />
     

AnotherArray数组现在包含键01emailphone

我们在这里可以看到,通过类比,您应该命名文件字段file[file1]。所以:

<input type="file"
       name="file[file1]"
       title="A description of the field should go in here"
/>

使用文档。可以帮助您。

答案 1 :(得分:1)

HTML:

<input type='file' name='file[file1]' />
<input type='file' name='file[file2]' />
<input type='file' name='file[file3]' />

PHP:

<?php
$_FILES['file'][file1];
$_FILES['file'][file2];
$_FILES['file'][file3];
// and so on...

答案 2 :(得分:0)

有两种方法可以做到这一点:

  1. 如果HTML为:
  2. <input type='file' name='file[file1]' />

    <input type='file' name='file[file2]' />

    那么PHP应该是:

    $_REQUEST['file']['file1'];
    $_REQUEST['file']['file2'];
    
    1. 如果HTML为:
    2. <input type='file' name='file[]' />

      <input type='file' name='file[]' />

      那么PHP应该是:

      $_REQUEST['file'][0];
      $_REQUEST['file'][1];
      

      有关详细信息,请阅读文档:this new onethis old one too