PHP JS JQ 异步上传并立即显示图片
http://my.oschina.net/zerodeng/blog/313773
提交页面:
<! DOCTYPE html> < html> < head> < meta charset ="GB2312" > < title> Insert title here </title > < script type ="text/javascript" src= "jquery.js"></ script > < script type ="text/javascript" > $(document).ready( function (){ $( "#i_1" ).load( function(){ var url = $("#i_1" ).contents().find( "#pic").html(); if (url != null){ $( "#tag_img" ).attr("src" ,url); } }); }); </ script> </ head> < body>
< img id= "tag_img" src = "" /> < form enctype ="multipart/form-data" action= "upload_pic.php" method ="post" target= "upload_target"> <input type= "file" name ="img" class= "file" value ="" /> <input type= "submit" name ="uploadimg" value= "上传" /> </ form> < iframe id= "i_1" name = "upload_target"></ iframe > </ body> </ html>
重点:
1.form中的action="处理图片的有效PHP页面"
2.form中的target="iframe的name属性值"
3.JS中必须要有可以等待iframe加载完后处理iframe返回过来的图片地址。
处理图片的PHP程序页面:
<?php $tmp_name = $_FILES[ 'img'][ 'tmp_name']; $name = $_FILES[ 'img'][ 'name']; move_uploaded_file($tmp_name, './upload/'.$name); $img = './upload/'.$name; ?> <! DOCTYPE html> < html> < head> < meta name ="viewport" content= "initial-scale=1.0, user-scalable=no" > < meta http-equiv ="Content-type" content= "text/html;charset:utf-8" > < script type ="text/javascript" src= "jquery.js"></ script > </ head> < body> < div id= "pic" ><?php echo $img; ?></ div > </ body> </ html>
重点:
1.$_FILE全局超级变量可以接收到POST过来的文件,HTML input的name就是$_FILE['name']
2.接下来可以做很多处理,如判断是不是图片,图片大小....
3.move_uploaded_file($tmp,$location)函数把图片移动到相应的路径中去,$tmp指的是文件的临时地址,$location指的是文件移动收的相对路径(包含文件名的路径!)
4.想办法在这个处理页面中找一个地方安放一下处理好的图片。< div id= "pic" ><?php echo $img; ?></ div >
就这样,我们就可以很轻易的把一个图片异步上传并且立即显示到前台页面中。
更进一步
ajax jsp 无刷新上传文件
http://www.iteye.com/topic/81120
js实现iframe跨页面调用函数的方法
http://www.jb51.net/article/58449.htm
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现