Как я могу получить file в моем файле?


у меня есть следующая функция, которая отправляет файл Excel в контроллер , но проблема в том, что я не получаю его.

функция выглядит следующим образом:

function Articuloconexcel(){
var file = $('#files')[0].files[0]
var data = new FormData();
  data.append('archivo',file);
  var url = 'WEB-INF/Controllers/Aceptacion/Controler_excel.php';
 $.ajax
({  
    url:url,
    type:'POST',
    contentType:false,
    data:data,
    processData:false,
    cache:false
   });
}

я попытался получить файл следующим образом:

<?php       
$archivo = $_FILES['excel']['name'];
$tipo = $_FILES['excel']['type'];
$destino = "cop_".$archivo;//Le agregamos un prefijo para identificarlo el archivo cargado
if (copy($_FILES['excel']['tmp_name'],$destino)) echo "Archivo Cargado Con Éxito";
else echo "Error Al Cargar el Archivo";

но он просто бросает мне сообщение об ошибке, как я могу сделать, чтобы он хорошо получил файл?

Author: Roger Torné, 2019-12-18

1 answers

Вам не нужно использовать цель, вы должны использовать функцию move_file_upload с указанием источника и назначения. Только таким образом Вы сможете работать с файлом Excel.

Вы останетесь:

<?php       
$ruta_destino = 'cop_'.$archivo;
$fichero_final = $ruta_destino . basename($_FILES["excel"]["name"]);
$tipo_fichero = pathinfo($fichero_final,PATHINFO_EXTENSION);

if (move_uploaded_file($_FILES["filepath"]["tmp_name"], $fichero_final)){
     echo "Archivo cargado con éxito";
}else{
     echo "Error al cargar el archivo";
}

Дополнительная информация в документации: Move_upload_file

 3
Author: Ferran Muñoz, 2019-12-18 07:21:16