导航:首页 > 编程语言 > php上传文件无刷新

php上传文件无刷新

发布时间:2022-09-21 22:05:17

php,ajax。如何做到无刷新上传图片啊,关键是无刷新而且是图片

最常见的做法有2种:

  1. 当选择一个文件后,用JS动态的创建一个Iframe,Iframe内写入一个隐藏的表单,然后让表单提交;

  2. 利用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']; //这个是服务器接收到的临时文件的路径,就是文件已经在服务器上了

阅读全文

与php上传文件无刷新相关的资料

热点内容
手机文件管理在哪儿新建文件夹 浏览:719
加密ts视频怎么合并 浏览:773
php如何写app接口 浏览:800
宇宙的琴弦pdf 浏览:395
js项目提成计算器程序员 浏览:942
pdf光子 浏览:832
自拍软件文件夹名称大全 浏览:325
程序员留学移民 浏览:50
梁中间部位箍筋加密区 浏览:118
频谱分析pdf 浏览:750
乐2怎么升级安卓70 浏览:172
java中获取日期 浏览:506
单片机74hc245 浏览:272
美国历史上的总统pdf 浏览:751
程序员脱单实验室靠不靠谱 浏览:460
php中间四位手机号 浏览:871
永旺app怎么样了 浏览:518
压缩空气流量计算软件 浏览:651
智慧聊天app怎么激活 浏览:926
一加换机备份到哪个文件夹 浏览:737