如何在 JQuery 页面上获取输入类型“file”变量,然后将变量和文件传递给 PHP 页面进行上传


How to get input type 'file' variable on JQuery page and then pass variable and file to PHP page for upload

图像上传功能使用HTML,Javascript和PHP工作正常。但是现在我正在尝试将其转换为HTML,JQuery和PHP,但我无法使用以下代码上传照片。

我无法在页面上获取文件类型变量.js然后在 php 页面上自行文件(upload_p.php)

请告知我做错了什么。我正在尝试在最后两天完成这项工作,但还没有运气。

上传.php

<form name="Uform" id="Uform" novalidate>
<div class="control-group form-group">
    <input type="file" name="img" id="img">
    <div id="success"></div>
    <button type="submit" class="btn btn-primary">Upload</button>
</div>
</form>

上传.js

$(function() {
$("#UForm file").jqBootstrapValidation({
    preventSubmit: true,
    submitSuccess: function($form, event) {
        event.preventDefault(); 
        // Try #1
        var form   = new FormData() ;
        var file = $('#img')[0].files[0];
        formData.append("file", file);
        // Try #2
        var FileData = $('#img').prop('files')[0];   
        var form_data = new FormData();                  
        form_data.append('file', FileData);

        $.ajax({
            url: "./user/upload_.php",
            type: "POST",
            data: {
                // Try #1
                upload : 1,
                data : file
                // Try #2
                img: img,
            },
            cache: false,
        })
    },
});

upload_p.php

$str_photo = "";
if(isset($_FILES['img'])) { $str_photo = trim($_FILES['img']['name']); }
.
.    
UploadFile($_FILES["img"]["tmp_name"],$str_img_path);
.
.
SQL Query to insert data into database table
.
.
$response['status']='SUC';
$response['message']="Image uploaded successfully";
echo json_encode($response);
return;

使用以下 ajax 代码

.ajax({
    url: "./user/upload_.php",
    data: {
            // Try #1
            upload : 1,
            data : file
            // Try #2
            img: img,
        },
    cache: false,
    contentType: false,
    processData: false,
    type: 'POST',
    success: function(data){
        alert(data);
    }
});

之后尝试

print_r($_FILES);

在您的upload_.php