Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

128
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!