使用AJAX和PHP保存用户的照片

时间:2015-09-26 18:03:10

标签: javascript php jquery ajax

我在使用Ajax和PHP保存照片时遇到问题。

这是我的HTML格式

<form id="form3">
    <input id="photo3" name="photo" class="form-control" type="file" id="fileInput3" />
</form>

这是我的JS

data = $("form#form3").serializeArray();
    var file = $("#photo3")[0].files[0];
    data.push({name: "photo", value: file});
    $.ajax({
        url: 'registrace.php',
        data: data,
        complete: function (response) {
            alert(response.responseText);
        },
        error: function () {}
    });

这是PHP

$output = 'users/'.$namernd.'.jpg';
move_uploaded_file($_GET['photo'],$output);

所有内容都被复制到我的数据库并且可以正常工作,但照片不会保存到我的服务器上。

1 个答案:

答案 0 :(得分:2)

好的,我找到了解决方案。只需改为:

var formdata = new FormData();
    formdata.append('name', $('#name3'));
    formdata.append('password', $('#password3'));
    formdata.append('city', $('#city3'));
    formdata.append('email', $('#email3'));
    formdata.append('file', $('#photo3')[0].files[0]);

$namernd = uniqid();
$output = 'users/'.$namernd.'.jpg';
move_uploaded_file($_FILES["file"]["tmp_name"],$output);