本文目录一览:
PHP里的ajax无刷新上传图片问题
html:
input id="file" name="file" type="file"/
jquery:
var formData = new FormData();
formData.append("file", $("#file")[0].files[0]);
$.ajax({
xhr: function() {
var xhr = new window.XMLHttpRequest();
xhr.upload.addEventListener("progress", function(evt){
if (evt.lengthComputable) {
//这里是上传过程的实时,一般用于做进度条
}
}, false);
return xhr;
},
type: 'POST',
contentType:false,
processData:false,
url:'', //你php端的地址
data: formData,
}).done(function(d) {
console.log(d); //d是php的json返回
});
php端:
if ($_FILES['file']['error'] != 0) {
return '上传错误';
}
$file = $_FILES['file']['tmp_name']; //这个是服务器接收到的临时文件的路径,就是文件已经在服务器上了
php,ajax。如何做到无刷新上传图片啊,关键是无刷新而且是图片
最常见的做法有2种:
当选择一个文件后,用JS动态的创建一个Iframe,Iframe内写入一个隐藏的表单,然后让表单提交;
利用Flash来实现上传,但是缺点是必须手动的传递session_id,否则无法进行状态维护;
请问如何用php实现实现页面无刷新上传图片
1,页面需要嵌入iframe
src是你另一个php程序,比如upload.php
2.form
提交的时候提交到iframe
3.upload.php判断提交成功输出一段js代码,parent.document.getElemetById("PID").src="成功后的图片地址";