Как выбрать несколько файлов для загрузки? - PullRequest
10 голосов
/ 03 апреля 2011

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

Ответы [ 9 ]

18 голосов
/ 03 апреля 2011

Это зависит от браузера.Новые версии 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/

7 голосов
/ 03 апреля 2011

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

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

В HTML4 вам лучше всего использовать Flash или Java-апплет. Доступны сторонние библиотеки, такие как Uploadify , SWFupload , JUpload и JumpLoader .

3 голосов
/ 29 мая 2011

Я бы определенно остановился на новом атрибуте «множественного» HTML5:

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

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

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

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

2 голосов
/ 09 июня 2011

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

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

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

0 голосов
/ 03 апреля 2011

Flash - единственная опция, кроме HTML5.

0 голосов
/ 16 января 2010

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

0 голосов
/ 15 января 2010

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

...