У меня есть опыт сделать это с использованием одного файла загрузки <input type="file">
. Однако у меня возникли проблемы с загрузкой более одного за раз.
Например, я хотел бы иметь возможность выбрать серию изображений, а затем загрузить их на сервер, все сразу.
Было бы здорово использовать один элемент управления вводом файлов, если это возможно.
Кто-нибудь знает, как этого добиться? Спасибо!
Ответы:
Это возможно в HTML5 . Пример (PHP 5.4):
Вот как это выглядит в Chrome после выбора 2 элементов в диалоговом окне файла:
И вот как это выглядит после нажатия кнопки «Загрузить».
Это всего лишь набросок полностью рабочего ответа. Смотрите PHP Manual: Обработка загрузки файлов для получения дополнительной информации о правильной и безопасной обработке загрузки файлов в PHP.
источник
multiple="multiple"
?name="file[]"
). Я попытался отредактировать ответ , но он был отклонен.Есть несколько вещей, которые нужно сделать, чтобы создать загрузку нескольких файлов, на самом деле это довольно просто. Вам не нужно использовать Java, Ajax, Flash. Просто создайте нормальную форму загрузки файлов, начиная с:
Тогда ключ к успеху;
<input type="file" name="file[]" multiple />
НЕ забывайте эти скобки! В post_upload.php попробуйте следующее:
Обратите внимание, что вы получите массив с данными tmp_name, что будет означать, что вы можете получить доступ к каждому файлу с помощью третьей пары скобок с примером файла 'number':
Вы можете использовать php count () для подсчета количества выбранных файлов. Гудлак виддит!
источник
foreach
выписки без необходимости знать количество загруженных файлов ...Полное решение в Firefox 5:
источник
<html> <head> </head> <body> <form name="uploader" id="uploader" action="multifile.php" method="POST" enctype="multipart/form-data" > <input id="infile" name="infile[]" type="file" onBlur="submit();" multiple="true" ></input> </form>
Если вы хотите выбрать несколько файлов в диалоговом окне выбора файлов, которое отображается при выборе обзора, то в большинстве случаев вам не повезло. Вам нужно будет использовать Java-апплет или что-то подобное (я думаю, что есть такой, который использует небольшой флэш-файл, я обновлю, если найду его). В настоящее время ввод одного файла позволяет выбрать только один файл.
Если вы говорите об использовании нескольких файловых вводов, то не должно быть большой разницы с использованием одного. Разместите некоторый код, и я постараюсь помочь в дальнейшем.
Обновление: есть один способ использовать одну кнопку просмотра, которая использует вспышку. Я никогда не использовал это лично, но я прочитал много об этом. Я думаю, что это ваш лучший выстрел.
http://swfupload.org/
источник
во-первых, вы должны сделать такую форму:
это верно . Теперь добавьте этот код под кодом формы или на любую страницу, которая вам нравится
это легко ... закончить
источник
Если вы используете несколько полей ввода, вы можете установить name = "file []" (или любое другое имя). Это поместит их в массив, когда вы загрузите их (
$_FILES['file'] = array ({file_array},{file_array]..)
)источник
Использование цикла FOR
Использование цикла FOREACH
источник
я создал функцию php, которая используется для загрузки нескольких изображений, эта функция может загружать несколько изображений в определенную папку, а также может сохранять записи в базе данных в следующем коде $ arrayimage - это массив изображений, который отправляется через примечание формы что он не разрешит загрузку использовать несколько, но вам нужно создать другое поле ввода с тем же именем, как вы можете установить динамическое поле добавления файла, выводимое нажатием кнопки.
$ dir - это каталог, в котором вы хотите сохранить изображение. $ fields - это имя поля, которое вы хотите сохранить в базе данных.
поле базы данных должно быть в примере формата массива, если у вас есть база данных imagestore и имена полей, такие как id, name, address, то вам нужно опубликовать данные как
а затем передать это поле в функцию $ fields
$ table - это имя таблицы, в которой вы хотите хранить данные.
// здесь заканчивается класс imageFunctions
вы можете попробовать этот код для вставки нескольких изображений с его расширением, эта функция создана для проверки файлов изображений, вы можете заменить список расширений для perticular файлов в коде
источник
частичный ответ: груша HTTP_UPLOAD может быть полезна http://pear.php.net/manual/en/package.http.http-upload.examples.php
есть полный пример для нескольких файлов
источник