Javascript 通过formData xhr请求过帐数据后无法访问文件数组

Javascript 通过formData xhr请求过帐数据后无法访问文件数组,javascript,php,Javascript,Php,我正在开发一个脚本,它应该显示上传文件的上传百分比(非常简单的东西) 我遵循这个例子,在安全方面做了一些轻微的修改 在阅读了git上的所有注释之后,我认为它可以很好地工作——但是由于某种原因,当我试图在PHP中输出$\u文件数组时,它返回一个空数组 这是我的脚本 JavaScript(static.example.com/uploader.js): let formData = new FormData(), xhr = new XMLHttpRequest(); // file i

我正在开发一个脚本,它应该显示上传文件的上传百分比(非常简单的东西)

我遵循这个例子,在安全方面做了一些轻微的修改

在阅读了git上的所有注释之后,我认为它可以很好地工作——但是由于某种原因,当我试图在PHP中输出
$\u文件
数组时,它返回一个空数组


这是我的脚本 JavaScript(
static.example.com/uploader.js
):

let formData = new FormData(),
    xhr = new XMLHttpRequest();

// file is defined earlier
formData.append("file", file);

xhr.open("POST", "//ajx.example.com/upload.php");
xhr.onprogress = function(e){
    console.log("Uploading");
}

xhr.onreadystatechange = function(){
    if(xhr.readyState == 4){
        if(xhr.status == 200)
            console.log("Server response:", JSON.parse(xhr.responseText));
        else
            return console.error("There was an error.");
    }
}
xhr.send(formData);
header("Access-Control-Allow-Origin: http://www.example.com", false);
header("Content-type: application/json;charset=utf-8", false);

/*
*    returns array(0){} 
*/
echo var_dump($_FILES);
die();
PHP
ajx.example.com/upload.PHP
):

let formData = new FormData(),
    xhr = new XMLHttpRequest();

// file is defined earlier
formData.append("file", file);

xhr.open("POST", "//ajx.example.com/upload.php");
xhr.onprogress = function(e){
    console.log("Uploading");
}

xhr.onreadystatechange = function(){
    if(xhr.readyState == 4){
        if(xhr.status == 200)
            console.log("Server response:", JSON.parse(xhr.responseText));
        else
            return console.error("There was an error.");
    }
}
xhr.send(formData);
header("Access-Control-Allow-Origin: http://www.example.com", false);
header("Content-type: application/json;charset=utf-8", false);

/*
*    returns array(0){} 
*/
echo var_dump($_FILES);
die();

我不知道为什么会发生这种情况,我的代码似乎非常好

感谢所有帮助,
干杯

编辑:

我注意到上传程序在一些文件上运行良好
php.ini
已针对所有内容正确配置。但是如果我测试两个mp3文件(例如),其中一个mp3文件将无法工作。这就好像有些文件已经损坏,但它们没有损坏。

这个文件定义了吗?@u\u mulder确实是:)可能会评论说,
var\u转储($\u POST)实际上是什么
返回?@DavidR完全一样:(您的
php.ini
是否将
文件上传设置为
ON