Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过AJAX和PHP通过输入HTML获取和读取文件_Javascript_Php_Html_Ajax_Forms - Fatal编程技术网

Javascript 通过AJAX和PHP通过输入HTML获取和读取文件

Javascript 通过AJAX和PHP通过输入HTML获取和读取文件,javascript,php,html,ajax,forms,Javascript,Php,Html,Ajax,Forms,我正在尝试通过ajax和PHP从HTML输入接收输入文件。。。 以下是HTML: <form id="file-form-real" method="POST" enctype="multipart/form-data"><input type="file" class="inputfile" id="carga-excelreal" name="carga-excelreal" accept="application/vnd.ms-excel, application/vn

我正在尝试通过ajax和PHP从HTML输入接收输入文件。。。 以下是HTML:

<form id="file-form-real" method="POST" enctype="multipart/form-data"><input  type="file" class="inputfile" id="carga-excelreal" name="carga-excelreal" accept="application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"><label for="carga-excelreal"><img src="img/MSExcel_2013_logo.svg"><span>Carga Archivo Costo Real</span></label><button type="submit" class="u-button" id="ubutton-real" onclick="uploadManager.sendReal();">Actualizar BD</button></form>
以下是PHP:

<?php
    $name = $_POST['name'];
    $file = $_FILES['file'];

    if(move_uploaded_file($file,"../../docs/costo_real/".$name)){
        $msg = "Uploaded Ok";
        echo json_encode($msg, JSON_UNESCAPED_UNICODE);
    }else{
        $msg = "There was an error";
        echo json_encode($msg, JSON_UNESCAPED_UNICODE);
    }
?>
我有以下问题:

-如何读取[object FileList],获取文件并将其保存到特定文件夹

-(我已经看到[文件]是空的,……为什么??,应该有这个文件)

-一般过程是确定的,还是我必须在我的表单标签中使用action属性

另外,如果有人知道如何放置加载gif,这可能会非常有帮助(最后一件事并不像我要求的那样重要)


感谢您的回答。

在您的js
var file=form.files中可能需要:

var file=form.files[0]
var file=form.files.shift()


我相信
form.files
将是一个数组可能需要:

var file=form.files[0]
var file=form.files.shift()

我相信
form.files
将是一个数组。

可能的重复
<?php
    $name = $_POST['name'];
    $file = $_FILES['file'];

    if(move_uploaded_file($file,"../../docs/costo_real/".$name)){
        $msg = "Uploaded Ok";
        echo json_encode($msg, JSON_UNESCAPED_UNICODE);
    }else{
        $msg = "There was an error";
        echo json_encode($msg, JSON_UNESCAPED_UNICODE);
    }
?>
Array
(
)
Array
(
    [file] => [object FileList]
    [name] => 1557 - Planilla Gestion de Compras 16.ago.2016.xls
)