Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

193
Visualizações
Cargando archivos por AJAX y obteniendo un error en el manejo de PHP

Me estoy golpeando la cabeza contra las paredes con esta cosa durante 4 horas.

Creé una entrada (archivos múltiples) como se muestra a continuación, que no está dentro de un formulario.

 <label for="adaugaFisiere" class="btn btn-success tip" title="Poți adăuga fișiere JPG,PDF,DOC,XLS" data-original-title="Adauga imagini"><span>Adaugă fișiere</span></label> <input type="file" multiple="" id="adaugaFisiere" name="docImgs[]" class="filestyle invisible" required="" accept="image/*,.pdf,.doc,.docx,.xls,.xlsx" onChange="updateList(<?= $nextNrDoc ?>)">

A continuación, tengo el siguiente código JavaScript, que sube los archivos a un archivo PHP

 function updateList(nrDoc){ var inputFiles = $('#adaugaFisiere').prop('files'); var formData = new FormData(); formData.append('listFiles', inputFiles); $.ajax({ url: 'exec/files-upload.php', type: 'POST', cache: false, data: formData, contentType: false, processData: false, //Ajax events success: function(html){ $('#fileList').html(html); }, fail: function(res){ alert('Eroare upload'); } });

}

Y finalmente, el archivo PHP

 var_dump($_POST); $name_array = $_FILES['listFiles']['name']; $tmp_name_array = $_FILES['listFiles']['tmp_name']; // Number of files $count_tmp_name_array = count($tmp_name_array);

El archivo PHP es más grande, pero no es importante porque aparece un error en la parte superior del archivo.

El dump_var devuelve esto:

 array(1) { ["listFiles"]=> string(17) "[object FileList]" }

Y justo después viene el error:

 Warning: Undefined array key "listFiles" in D:\xampp\htdocs\cityadmin\exec\files-upload.php on line 4 Warning: Trying to access array offset on value of type null in D:\xampp\htdocs\cityadmin\exec\files-upload.php on line 4 Warning: Undefined array key "listFiles" in D:\xampp\htdocs\cityadmin\exec\files-upload.php on line 5 Warning: Trying to access array offset on value of type null in D:\xampp\htdocs\cityadmin\exec\files-upload.php on line 5

Corrí en círculos pero no pude entenderlo. ¿Por qué recibo este error si dump_var muestra los datos que llegan al archivo PHP? Alguien, alguna idea?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Por favor, no voten sobre esto, acabo de publicar para aquellos que están en la misma situación que yo.

Obtuve mi respuesta de este hilo.

Carga de archivos PHP/Javascript/AJAX mediante arrastrar y soltar. Los archivos se convierten en cadenas

El punto es que cuando tiene varios archivos de una entrada, debe recorrer cada uno y agregarlo a formData como una matriz. Después de eso, puede recuperarlo en PHP como $_FILES[][] . Es posible agregar otros datos $_POST[] a formData, con formData.append() y obtener una matriz $_POST[] y $_FILES[][] en el controlador de PHP.

Entonces, en lugar de hacer esto formData.append("fileList", fileList); , he hecho esto

 for (let i = 0; i < fileList.length; i++) { formData.append("fileList[]", fileList[i]); } formData.append('nextId', nrDoc); formData.append('post', 'files-upload');

Después de ese cambio, pude acceder a los archivos en el controlador de PHP y mis otras variables enviadas.

Solía funcionar hace algún tiempo, pero he estado ocupado con otro tipo de proyectos y no me di cuenta de que definitivamente algo había cambiado en la forma en que AJAX procesa las solicitudes.

Ahora, todo funciona según lo diseñado, sin advertencias ni errores. ¡Espero que alguien más encuentre una solución en esta publicación!

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda