❶ php,ajax。如何做到无刷新上传图片啊,关键是无刷新而且是图片
最常见的做法有2种:
当选择一个文件后,用JS动态的创建一个Iframe,Iframe内写入一个隐藏的表单,然后让表单提交;
利用Flash来实现上传,但是缺点是必须手动的传递session_id,否则无法进行状态维护;
❷ 用php如何进行无刷新文件上传
最近做项目时需要用到无刷新上传图片并预览,在网上找了一些教程,似乎最简单的方法就是iframe上传。一个最原始最简单的iframe上传例子:
前台上传页面index.html,主要是一个表单与一个js回调函数。上传文件时,form表单的method、 enctype属性必须和下面代码一样。然后将target的值设为iframe的name,这样就可以实现无刷新上传文件。
XML/HTML代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>上传文件</title>
</head>
<body>
<script>
function CallbackFunction(str){
alert("上传成功");
}
</script>
<form action="uploadfile.php" enctype="multipart/form-data" method="post" target="iframeUpload">
<iframe name="iframeUpload" src="" width="350" height="35" frameborder=0 SCROLLING="no" style="display:NONE"></iframe>
<input id="test_file" name="test_file" type="file">
<input value="上传文件" type="submit">
</form>
</body>
</html>
后台上传处理页面uploadfile.php,这段代码为简单的上传代码,没有进行错误及异常处理。上传代码执行完成后,要告诉父页面已经上传完毕了,因此,在这个页面里调用父页面的回调函数CallbackFunction,这个函数可以有参数,形式自己定义。
PHP代码
<?php
set_time_limit(0);
if($_SERVER['REQUEST_METHOD']=='POST') {
move_uploaded_file($_FILES["test_file"]["tmp_name"],
dirname($_SERVER['SCRIPT_FILENAME'])."/UploadTemp/" . $_FILES["test_file"]["name"]);
echo "<script>window.parent.CallbackFunction();</script>";
}
?>
以上是用iframe实现无刷新上传文件的简单方法,想要健壮的程序的话需要再细化。
❸ php无刷新上传后如何显示上传的图片
msg = "上传成功";
这句中改成:
msg =" <img border=0 src=你上传的图片的地址 alt='上传成功' title='提示信息'/>"
❹ 请问如何用php实现实现页面无刷新上传图片
1,页面需要嵌入iframe
src是你另一个php程序,比如upload.php
2.form
提交的时候提交到iframe
3.upload.php判断提交成功输出一段js代码,parent.document.getElemetById("PID").src="成功后的图片地址";
❺ 用php做得网页,当数据库有数据录入的时候,想自动在页面上无刷新提示有信息录入该怎么做
可以直接用Timer控件。
前台:
<asp:Timer ID="Timer1" runat="server" Interval="1000" ontick="Timer1_Tick" ></asp:Timer>
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
后台:
protected void Timer1_Tick(object sender, EventArgs e)
{
//读取数据库,判断是否有数据更新,有则弹出消息提示 }
❻ thinkphp中怎样无刷新上传文件
其实和框架没什么关系,用ajax来做,实现无刷新上传文件
❼ 如何运用PHP Ajax实现图片的无刷新上传
<metacharset="utf-8">
<formid="uploadForm">
<p>指定文件名:<inputtype="text"name="filename"value=""/></p>
<p>
上传文件:
<inputtype="file"name="photo"onchange="showPreview(this)"class="file"/>
<imgid="portrait"src=""width="70"height="75">
</p>
<inputtype="button"value="上传"onclick="doUpload()"/>
</form>
<scriptsrc="http://www.haoyunyun.cn/jquery.js"></script>
<script>
functiondoUpload(){
varformData=newFormData($("#uploadForm")[0]);
$.ajax({
url:'submit.php',
type:'POST',
data:formData,
async:false,
cache:false,
contentType:false,
processData:false,
success:function(returndata){
alert(returndata);
},
error:function(returndata){
alert(returndata);
}
});
}
</script>
<scripttype="text/javascript">
functionshowPreview(source){
varfile=source.files[0];
if(window.FileReader){
varfr=newFileReader();
fr.onloadend=function(e){
document.getElementById("portrait").src=e.target.result;
};
fr.readAsDataURL(file);
}
}
</script>
<?php
if($_FILES['photo']['error']>0){
echo"上传文件失败";
die;
}
$dir='./photo/';
$type=substr($_FILES['photo']['name'],strrpos($_FILES['photo']['name'],'.'));
$filename=time().rand(1000,9999).$type;
if(is_uploaded_file($_FILES['photo']['tmp_name'])){
move_uploaded_file($_FILES['photo']['tmp_name'],$dir.$filename);
echo"上传成功";
}else{
echo"上传文件失败";
}
❽ 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']; //这个是服务器接收到的临时文件的路径,就是文件已经在服务器上了