Código:
y el archivo prueba.php$(document).ready(function(){ $("#btn").click(function(){ //aqui quedó fileField = document.getElementById("input_file"); var allowedTypes = ['png', 'jpg', 'jpeg', 'exe', 'rar', 'gif']; var filesLen = fileField.files.length; var fileInput = document.querySelector('#input_file'); for (i = 0; i < filesLen; i++) { var vidType = fileField.files[i].name.split('.'); if (allowedTypes.indexOf(vidType[vidType.length -1].toLowerCase()) != -1) { var progress = 'progress' + i; $('input').before('<p>' + fileField.files[i].name + ' <progress id="' + progress + '"></progress></p>'); var xhr = new XMLHttpRequest(); xhr.open('POST', 'prueba.php',true); (function(progress) { xhr.upload.onprogress = function(e) { $('#' + progress).attr('value', e.loaded); $('#' + progress).attr('max', e.total); }; }(progress)); xhr.onload = function() { $('#response').html(xhr.response); }; var form = new FormData(); form.append('title', fileField.files[i].name); form.append('film', fileInput.files[i]); xhr.setRequestHeader("X-FILENAME", fileField.files[i].name); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.setRequestHeader("Content-length", fileField.files[i].length); xhr.send(form); } else { alert('Your file "' + fileField.files[i].name + '" \'s format isn\'t supported'); } } }); });
Código:
EL PROBLEMA ES QUE ME CREA LOS ARCHIVOS EN AL CARPETA DE DESTINO PERO ME LOS CREA VACIOS! NO SE PORQUE LO HACE SI LOS PARAMETROS SE ENVIARON BIEN <?php $fn = (isset($_SERVER['HTTP_X_FILENAME']) ? $_SERVER['HTTP_X_FILENAME'] : false); if ($fn) { // AJAX call file_put_contents( 'uploads/' . $fn, file_get_contents('php://input') ); echo "$fn se ha subido"; exit(); } ?>