Всем привет! Пытаюсь сделать загрузку изображений с preview'шками. Превьюшки есть, а $_FILES при отправке формы пустой. Вот так создаю форму с input:file Код (Text): $('.addBlock').empty().append( $('<form/>').attr({ 'name': 'addressInfoForm', 'method': 'post', 'enctype': 'multipart/form-data' }).append( $('<div/>').addClass('row-fluid imagesUpload').append( $('<label/>').append('Загрузить изображения'), $('<input/>').attr({ 'type': 'file', 'class': 'files', 'name': 'addressPhoto', 'multiple': 'multiple', 'accept': 'image/*' }) ), $('<div/>').addClass('row-fluid').append( $('<output/>').attr('id', 'list').addClass('row') ) ); Так получаю превью Код (Text): $('input[name="addressPhoto"]').on('change', function(evt) { var files = evt.target.files; // FileList object console.log(files) // Loop through the FileList and render image files as thumbnails. for (var i = 0, f; f = files[i]; i++) { // Only process image files. if (!f.type.match('image.*')) { continue; } var reader = new FileReader(); // Closure to capture the file information. reader.onload = (function (theFile) { return function (e) { console.log(e.target.result); $("#list").append( $('<div/>').attr({ 'class': 'row-fluid photoBlock' }).append( $('<div/>').attr({ 'class': 'col-lg-3' }).append( $('<img/>').css('max-width', '250px').attr({ 'name': 'photos[' + theFile.name + '][thumbnail]', 'src': e.target.result, 'title': escape(theFile.name) }).append(escape(theFile.name)) ), $('<div/>').attr({ 'class': 'col-lg-1' }) ) ) }; })(f); // Read in the image file as a data URL. reader.readAsDataURL(f); } }); если нажимаем на отправку формы Код (Text): $('[name="addressInfoForm"]').on('submit', function(e) { e.preventDefault(); $.ajax({ method: 'post', url: '/saveaddress', data: $('[name="addressInfoForm"]').serialize(), success: function(data) { console.log(JSON.parse(data)) } }); }); Подскажите или киньте ссылочку, как получить массив $_FILES
глубоко не вникал но логика примерно такая. из формы читаются файлы, их содержимое помещается в строки, эти строки помещаются в жсон, жсон отправляется серверу. на сервере надо принять этот жсон, декодировать, вытащить строки содержимого файлов, заправить эти строки в физические файлы на сервере. суперглобальный массив _FILES в данном случае вообще не используется ибо как такового мультипарт/форм не приходит потому что не используется обычный пост-запрос а используется аякс.