如何选择多个文件进行上传?

时间:2011-04-02 21:22:11

标签: php javascript html file-upload upload

如何选择多个文件进行上传: enter image description here

9 个答案:

答案 0 :(得分:18)

这取决于浏览器。较新版本的firefox和chrome支持这一点,因为它们开始实现HTML5规范。这是语法:

<input type="file" multiple=""/>

Firefox&gt; = 3.6,Chrome&gt; = 2,Safari&gt; = 4支持多个文件输入。

对于旧版浏览器,唯一好的解决方案是flash或javascript插件。 这是jquery上传器的一个很好的资源(一些支持多个文件):http://creativefan.com/10-ajax-jquery-file-uploaders/

答案 1 :(得分:7)

在HTML5中,您可以在<input type="file">上设置multiple attribute。这适用于支持HTML5的浏览器。

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

在HTML4中,最好的选择是Flash或Java Applet。有第三方库,如UploadifySWFuploadJUploadJumpLoader

答案 2 :(得分:3)

我肯定会在这一点上使用新的HTML5“多重”属性:

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

唯一可行的替代方案是像swfupload这样的FLASH插件。

然而 - 使用FLASH进行上传有多个问题,主要的一个问题就是cookie bug:

FLASH插件无法正确发送Cookie。每个浏览器都有自己的cookie存储。即使你使用谷歌浏览器,FLASH总是从IE发送cookie。 - 结果是你松散了cookie和会话。有一种解决方法 - 但它要求您将会话ID作为GET或POST参数发送,这反过来会使您的网站容易受到会话固定的影响。

答案 3 :(得分:2)

您还可以使用javascript插件,例如:http://code.google.com/p/noswfupload/

答案 4 :(得分:1)

多次使用文件输入表单元素,为其指定一个不同的名称,并且在一个页面上有多个上载字段。无需学习任何其他内容。

答案 5 :(得分:1)

  1. PHP是后端,PHP不是限制你只使用“一次”上传的东西
  2. HTML / JavaScript 是导致限制的前端/中端。 (因此,在问题标签中添加HTML)
  3. 如果您使用Flash(AS = ActionScript ),您仍然可以将 PHP作为后端,作为处理上传文件的处理器。

答案 6 :(得分:-1)

没有html / javascript解决方法。你必须要看flash或java才能做到这一点。

答案 7 :(得分:-1)

正如其他人所说,你必须使用Flash才能获得多次上传。 uploadify的替代方法是SWFUpload

答案 8 :(得分:-1)

除了HTML5之外,Flash是唯一的选择。