说道上传图片,大家并不陌生,不过,在以后开发的项目中,可能并不会让你使用提交刷新页面式的上传图片,比如上传头像,按照常理,肯定是在相册选择照片之后,确认上传,而肯定不会通过form表单,点击submit刷新式上传。我为大家介绍两种异步非刷新式上传图片+图片预览:第一种,通过现成的uploadfy插件进行上传,网上好多实例。

不过我重点为大家介绍的是第二种,通过Ajax上传图片。因为使用uploadfy插件需要设备支持swf格式的Flash,所以对大多数手机来说,第一种方式就没办法使用了。首先,我先跟大家说一下上传原理:通过js控制file文本域,当选择照片之后,通过Ajax异步提交form表单,然后将图片的位置作为返回值,使用js把img的src属性设置为返回值。
上传头像区域:
代码:
<!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>
<link href="bootstrap-3.3.7-dist/css/bootstrap.min.css" rel="external nofollow" rel="stylesheet" type="text/css" />
<script src="bootstrap-3.3.7-dist/js/jquery-1.11.2.min.js"></script>
<script src="bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>
<style type="text/css">
#yl{ width:200px; height:200px; background-image:url(img/avatar.png); background-size:200px 200px;}
#file{ width:200px; height:200px; float:left; opacity:0;}
.modal-content{ width:500px;}
.kk{ margin-left:130px;}
</style>
</head>
<body>
<!-- 按钮触发模态框 -->
<button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
上传头像
</button>
<!-- 模态框(Modal) -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
×
</button>
<h4 class="modal-title" id="myModalLabel">
上传头像
</h4>
</div>
<div class="modal-body">
<form id="sc" action="upload.php" method="post" enctype="multipart/form-data" target="shangchuan">
<input type="hidden" name="tp" value="" id="tp" />
<div id="yl" class="kk">
<input type="file" name="file" id="file" onchange="document.getElementById('sc').submit()" />
</div>
</form>
<iframe style="display:none" name="shangchuan" id="shangchuan">
</iframe>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭
</button>
<!--<button type="button" class="btn btn-primary">
提交更改
</button>-->
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal -->
</div>
</body>
<script type="text/javascript">
//回调函数,调用该方法传一个文件路径,该变背景图
function showimg(url)
{
var div = document.getElementById("yl");
div.style.backgroundImage = "url("+url+")";
document.getElementById("tp").value = url;
}
</script>
</html>
上传的处理页:
<?php
if($_FILES["file"]["error"])
{
echo $_FILES["file"]["error"];
}
else
{
if(($_FILES["file"]["type"]=="image/jpeg" || $_FILES["file"]["type"]=="image/png")&& $_FILES["file"]["size"]<1024000000)
{
$fname = "./img/".date("YmdHis").$_FILES["file"]["name"];
$filename = iconv("UTF-8","gb2312",$fname);
if(file_exists($filename))
{
echo "<script>alert('该文件已存在!');</script>";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],$filename);
unlink($_POST["tp"]);
echo "<script>parent.showimg('{$fname}');</script>";
}
}
}
原理:
通过form表单的enctype="multipart/form-data"属性将文件临时放到wamp文件夹中的tmp目录下,再通过后台php程序将文件保存在体统中。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# php头像上传预览
# php头像上传
# php上传头像实例
# php实现头像上传预览功能
# php实现文件上传及头像预览功能
# 针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
# php视频拍照上传头像功能实现代码分享
# PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
# php+js iframe实现上传头像界面无跳转
# 上传
# 上传图片
# 表单
# 第一种
# 返回值
# 的是
# 是在
# 模态
# 两种
# 就没
# 我为
# 我先
# 设置为
# 以对
# 该文件
# 回调
# 第二种
# 会让你
# 大家多多
# 无标题文档
相关文章:
如何快速重置建站主机并恢复默认配置?
网站制作知乎推荐,想做自己的网站用什么工具比较好?
,网页ppt怎么弄成自己的ppt?
北京建设网站制作公司,北京古代建筑博物馆预约官网?
清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?
专业网站建设制作报价,网页设计制作要考什么证?
制作宣传网站的软件,小红书可以宣传网站吗?
高端建站如何打造兼具美学与转化的品牌官网?
孙琪峥织梦建站教程如何优化数据库安全?
建站之星代理费用多少?最新价格详情介绍
如何快速搭建高效WAP手机网站?
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
网站制作企业,网站的banner和导航栏是指什么?
建站主机如何选?高性价比方案全解析
网站按钮制作软件,如何实现网页中按钮的自动点击?
网站制作服务平台,有什么网站可以发布本地服务信息?
北京网站制作网页,网站升级改版需要多久?
如何在云主机上快速搭建多站点网站?
b2c电商网站制作流程,b2c水平综合的电商平台?
义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?
公司网站的制作公司,企业网站制作基本流程有哪些?
深圳网站制作案例,网页的相关名词有哪些?
成都响应式网站开发,dw怎么把手机适应页面变成网页?
定制建站流程解析:需求评估与SEO优化功能开发指南
C#如何序列化对象为XML XmlSerializer用法
上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?
宝塔面板如何快速创建新站点?
合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?
如何登录建站主机?访问步骤全解析
如何快速建站并高效导出源代码?
建站之星安装模板失败:服务器环境不兼容?
制作网站的基本流程,设计网站的软件是什么?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
建站之星上传入口如何快速找到?
威客平台建站流程解析:高效搭建教程与设计优化方案
c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】
建站之星logo尺寸如何设置最合适?
如何在建站主机中优化服务器配置?
如何用西部建站助手快速创建专业网站?
如何用景安虚拟主机手机版绑定域名建站?
网站制作难吗安全吗,做一个网站需要多久时间?
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
建站主机与服务器功能差异如何区分?
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
如何在IIS服务器上快速部署高效网站?
广东专业制作网站有哪些,广东省能源集团有限公司官网?
如何快速生成高效建站系统源代码?
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
制作电商网页,电商供应链怎么做?
*请认真填写需求信息,我们会在24小时内与您取得联系。