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

133
Visualizações
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 Respostas
Responde à pergunta

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 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