我正在做一个用户需要加载照片的网页。由于此照片将链接到唯一ID,因此我希望将该照片转移到服务器并保存为NUMBER.jpg或NUMBER.png或任何扩展名。因此,在javascritpt代码中调用输入类型字段上的事件,如下所示:
var file = document.getElementById("foto").files[0];
document.getElementById("pathFoto").value = file.name;
var formData = new FormData();
formData.append('foto',file,file.name);
var xhr = new XMLHttpRequest();
xhr.open('POST','php/handler.php',true);
xhr.onload = function() {
if (xhr.status == 200){
console.log("Done");
}
else{
console.log("An error ocurred " + xhr.responseText);
}
}
xhr.send(formData);
在PHP方面,这就是我的工作:
$image = $_POST["foto"];
file_put_contents("atest.jpg",$image);
现在我得到的错误是“foto”是一个未定义的索引。谁能告诉我我做错了什么?
答案 0 :(得分:0)
这是我如何去做的
var file = document.getElementById("foto").files[0];
var formData = new FormData();
formData.append('foto',file);
initial ajax request like you did above.....
xhr.send(formData);
你总是可以从php获取文件名。你不必追加它。
在你的php中,做
if(isset($_FILES['foto']['name])){
}
关注如何在php上传文件的链接 http://www.w3schools.com/php/php_file_upload.asp