Как выбрать несколько файлов для загрузки?

Как выбрать несколько файлов для загрузки : enter image description here

9 ответов


Это зависит от браузера. Более новые версии firefox и chrome поддерживают это, потому что они начали реализовывать спецификацию HTML5. Это синтаксис:

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

Firefox >= 3.6, Chrome >= 2, Safari >= 4 Поддержка нескольких входных файлов.

для старых браузеров единственными хорошими решениями являются Плагины flash или javascript. Вот хороший ресурс для загрузчиков jquery ( некоторые поддерживают несколько файлов ): http://creativefan.com/10-ajax-jquery-file-uploaders/


В HTML5 вы можете установить multiple атрибут on <input type="file">. Это работает в браузерах, поддерживающих HTML5.

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

В HTML4 лучше всего использовать Flash или Java-апплет. Есть 3rd party libs доступны как Uploadify, SWFupload, JUpload и JumpLoader.


Я бы определенно в этот момент пошел с новым атрибутом HTML5 "multiple":

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

единственной жизнеспособной альтернативой являются Flash-плагины, такие как swfupload.

однако-есть несколько prublems с использованием FLASH для загрузки, основной из них будет ошибка cookie:

Flash-плагины не отправляют файлы cookie правильно. Каждый браузер имеет свое собственное хранилище cookie.FLASH всегда отправляет файлы cookie из IE, даже если вы используете Google Chrome, например. - в результате получается, что вы теряете печенье и сеансы. существует обходной путь , но он требует отправки идентификатора сеанса в качестве параметров GET или POST, что, в свою очередь, делает ваш сайт уязвимым для фиксации сеанса.


вы также можете использовать плагины javascript, такие как:http://code.google.com/p/noswfupload/


используйте элемент формы ввода файла более одного раза, дайте ему другое имя, и у вас есть несколько полей загрузки на одной странице. Не нужно больше ничему учиться.


  1. PHP-это back-end, PHP-это не то, что ограничивает вас использовать только" одну " загрузку времени
  2. HTML / JavaScript являются передним / средним концом, которые вызывают ограничения. (Поэтому добавьте HTML в теги вопросов)
  3. Если вы используете Flash (AS = ActionScript) вы все еще можете иметь PHP как back-end, а процессор, который обрабатывает загруженные файлы.

нет обходного пути html/javascript. Вам нужно будет посмотреть на flash или java, чтобы сделать это.


Как говорили другие, вы должны использовать Flash для получения нескольких загрузок. Альтернативой uploadify является SWFUpload.


Flash-единственный вариант, кроме HTML5.