How to select multiple files for upload :
This depends on the browser. Newer versions of firefox and chrome support this because they started to implement HTML5 specification. This is the syntax:
<input type="file" multiple=""/>
Firefox >= 3.6, Chrome >= 2, Safari >= 4 support multiple file input.
For older browsers the only good solutions are flash or javascript plugins. Here is a good resource for jquery uploaders ( some support multiple files ): http://creativefan.com/10-ajax-jquery-file-uploaders/
I would definately at this point go with new HTML5 "multiple" attribute:
<input type="file" name="upload[]" multiple="multiple" />
The only viable alternative is FLASH plugins like swfupload.
However - there are multiple prublems with using FLASH for uploads, the main one foor me would be cookie bug:
FLASH plugins don't send cookies correctly. Each browser has it's own cookie storage.FLASH always sends cookies from IE even if you use Google Chrome for example. - result is that you loose cookies and sessions. there is a workaround - but it requires you to send session ID as GET or POST parameters which in turn makes your site vulnerable for session fixation.
Use the file input form element more than once, give it a different name and you have multiple upload fields on one page. No need to learn anything else.
As others have said, you have to use Flash to get multiple uploads. An alternative to uploadify is SWFUpload.
There is no html/javascript workaround. You would have to look to flash or java to be able to do this.
In HTML5 you can set the multiple attribute on <input type="file">
. This works in browsers supporting HTML5.
<input type="file" name="upload" multiple="multiple" />
In HTML4 your best bet is Flash or Java Applet. There are 3rd party libs available like Uploadify, SWFupload, JUpload and JumpLoader.