Вводится несколько файлов ввода

Мне нужно загрузить несколько файлов, я использую materializecss, и это дает вам возможность загружать несколько файлов в один вход:

<div class="row">
<form class="col s12">
<div class="file-field input-field">
<div class="btn">
<span>Browse</span>
<input type="file" multiple>
</div>
<div class="file-path-wrapper">
<input type="text" name="pictures" class="file-path validate" type="text" placeholder="Upload multiple files">
</div>
</div>
</form>
</div>

materialize.js делает следующее с этим:

$(document).on('change', '.file-field input[type="file"]', function () {
var file_field = $(this).closest('.file-field');
var path_input = file_field.find('input.file-path');
var files      = $(this)[0].files;
var file_names = [];
for (var i = 0; i < files.length; i++) {
file_names.push(files[i].name);
}
path_input.val(file_names.join(", "));
path_input.trigger('change');
});

Итак, по $_POST Я могу получить только имена файлов, которые хочу загрузить. Мне нужен полный путь к файлам, чтобы загрузить их на мой сервер.

Я буду признателен за любую помощь.

1

Решение

Вы не можете получить эти пути; это нарушит конфиденциальность пользователя.

Спецификация File API говорит, что о name атрибут (акцент мой):

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

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]