使用PHP / JavaScript进行多上传

时间:2011-03-06 16:46:30

标签: php ajax file upload

是否有任何解决方案可以在没有闪存的情况下一次上传多个文件? :)

不是那样的:选择一个文件,它转到股票,选择第二个文件,它转到股票而不是上传。但是立即选择所有需要的文件并上传它们。

2 个答案:

答案 0 :(得分:3)

HTML5通过在输入上指定“multiple”属性来支持多个文件。

为输入提供一个以方括号结尾的名称属性(即“myfileinput []”),它在PHP中看起来与在页面上有两个被称为相同内容的输入完全相同。

这显然不适用于旧版浏览器,但是可以通过JS检测到缺少对多个文件上传的支持,并通过JS创建多个文件输入。

答案 1 :(得分:1)

您可以拥有多个文件输入字段:

<input type="file" name="file1" />
<input type="file" name="file2" />
etc...

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

它们可以通过Javascript动态创建,也可以事先从服务器创建。无论哪种方式,您都会上传多个文件,但每个输入字段只有文件。

第一个选项将按预期工作。你将在PHP中为每个文件获得一个$ _FILES数组条目。使用数组表示法的另一个选项有点反直觉。你得到的东西看起来像

$_FILES = array(
   'file' => array(
       'name' => array(
            0 => 'name of first file',
            1 => 'name of second file
        ),
        'type => array(
            0 => 'mime type of first file',
            1 => 'mime type of second file',
     etc....