如何在php中读取FormData对象

Anu*_*ngh 18 javascript php jquery

大家好,我发布了一个示例代码,我在其中使用Ajax JQuery上传文件.一切正常,但我想在我的PHP代码中读取文件内容.那么阅读它的语法是什么?

    <?php

?>

<!--================================html==================================================-->

<html>
<head>
    <title>AJAX UPLOAD</title>
    <script type="text/javascript" src="jquery-2.0.2.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
            $('#Button_').click(function(){
                alert("hi");
                var name= document.getElementById('File_');
                 var alpha=name.files[0];
                console.log(alpha.name);
                 var data= new FormData();
                 data.append('file',alpha);
                 $.ajax({
                 url:'process.php',
                 data:data,
                 processData:false,
                 contentType:false,
                 type:'POST',
                 success:function(msg){
                 alert(msg);
                 }
                 });
            });
        });
    </script>
</head>
<body>
    <input type="file" name="File" id="File_"/>
    <input type="button" name="Button" id="Button_" value="UPLOAD">
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

现在我不知道如何读取通过Ajax发送的文件数据.所以请让我知道代码

小智 21

传递给的第一个参数FormData.append()是传递给服务器的表单元素的名称.所以data.append('file', alpha)在你的情况下相当于<input type="file" name="file">- 你传递'file'到append()所以'file'是你的输入名称.

你会发现在你的东西$_POST['file']$_FILES['file'].下次尝试var_dump($_POST);提交后查看数组.:)

在这里了解php中的文件上传:http://php.net/manual/en/features.file-upload.php

  • `<input type ="file">`html元素有一个名为`files`的属性,它是用户在该输入字段中选择的JavaScript`File`对象的数组.这是一个数组,因为如果你使用`<input type ="file"multiple>`你可以选择多个文件.您的示例只允许一个文件,因此选择`files [0]`来获取第一个(也是唯一的)文件. (2认同)