Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

134
Vistas
Estoy tratando de cargar varias imágenes usando AJAX y PHP pero hay un error

En mi formulario.php

 <form method="POST" enctype="multipart/form-data"> <input type="file" name="file_upload[]" id="file_upload" style="display:none;" required multiple accept="images/*" onchange="preview_image()"> </form>

Y hay un botón de enviar a continuación.

En mi parte jquery

 $('#submit').on('click', function(e) { var files = $('#file_upload')[0].files; var form_data = new FormData(); form_data.append("file_upload",files); $.ajax({ url:"execute/Script.php?request=submit", type: "POST", data: form_data, cache: false, contentType: false, processData: false, success: function(dataResult){ var dataResult = JSON.parse(dataResult); if(dataResult.statusCode == 1){ alert("Success!"); } } }); });

Y en mi script.php

 if($_GET['request']=="submit"){ $gallery_G = ""; foreach($_FILES['file_upload']['error'] as $key => $error){ if($error==UPLOAD_ERR_OK){ $tmp_name = $_FILES['file_upload']['tmp_name'][$key]; $PhotoName = $_FILES['file_upload']['name'][$key]; move_uploaded_file($tmp_name,"../img/properties/$name"); $gallery_G = $gallery_G.';'.$PhotoName; } } $sql = mysqli_query($conn,"INSERT INTO property(photos) VALUES('$gallery_G')"); if($sql) { echo json_encode(array("statusCode"=>1)); } else{ echo json_encode(array("statusCode"=>2)); } }

Pero me devuelve esto:

Aviso : índice indefinido: file_upload en G:\Xampp\htdocs\execute\Script.php en la línea 31

Advertencia : argumento no válido suministrado para foreach() en G:\Xampp\htdocs\execute\Script.php en la línea 31
{"código de estado": 2}

¿Hay alguna solución? Necesito enviar esas fotos usando el método 'agregar'. Y necesito obtener esas fotos en 'Script.php' para poder procesarlas o cargarlas desde allí.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Intente pasar el elemento de formulario a FormData. No es necesario llamar al método append después.

 var files = $('form')[0]; var form_data = new FormData(files);

Al usar el método append(), está colocando un [object FileList] en la matriz $_POST debajo de la clave file_upload

Si solo desea los archivos del formulario, necesitaría un bucle:

 var files = $('#file_upload')[0].files; var form_data = new FormData(); for (var i = 0; i < files.length; i++) { form_data.append("file_upload[]",files[i]); }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda