将上传图片保存在没有表格的文件夹中

save an upload image in a folder without form

我想从输入中上传图像,并将其保存在文件夹(名为 'photos')中。 在 HTML 中,我有一个像这样的简单输入类型文件:

<input type="file" name="inputFile" id="inputFile" accept="image/jpeg, 
image/png">
<span>Scegli una foto</span>
<input id="Invia" type="button" value="Invia">

在 Javascript 中,我使用了这个 AJAX 调用:

var myFormData = new FormData();
    myFormData.append($("#inputFile")[0].files[0]['name'], $("#inputFile")[0].files[0]);

$("#Invia").click(function (){
    $.ajax({
            type: 'POST',               
            processData: false,
            contentType: false, 
            data: myFormData,
            url: "../api/photo.php",
            dataType : 'json',  
            success: function(jsonData){}
    });
});

在PHP中,'../api/photo.php'文件是这样的:

<?php 

header('Content-Type: application/json; charset=utf-8');
$destination= '../app/photos';
$tmp_name = $_FILES["inputFile"]["tmp_name"];
$name = $_FILES["inputFile"]["name"];
move_uploaded_file($tmp_name, "$destination/$name");
?>

但是没用。我不是 POST 方法的专家,所以我不知道我做错了什么。你能帮帮我吗?

问题是因为你的追加值...我用你的脚本检查了我的本地并改变了像 ajax-url 和成功消息这样的东西以方便我这是我的代码请检查并告诉我:

    $("#Invia").click(function (){  
    var form = new FormData();
    var myFormData = document.getElementById('inputFile').files[0]; //get the file 
    if (myFormData) {   //Check the file is emty or not
        form.append('inputFile', myFormData); //append files
    }    
    $.ajax({
            type: 'POST',               
            processData: false,
            contentType: false, 
            data: form,
            url: "test1.php", //My reference URL
            dataType : 'json',  
            success: function(jsonData){
                if(jsonData == 1)
                    $('#img_msg').html("Image Uploaded Successfully");
                else
                    $('#img_msg').html("Error While Image Uploading");
            }
    });
});

您不需要更改 php 文件,但是,仔细检查您的文件夹路径是否正确用于存储图像...