php+ajax无刷新上传图片的实现方法


Posted in PHP onDecember 06, 2016

本文实例讲述了php+ajax无刷新上传图片的实现方法。分享给大家供大家参考,具体如下:

1.引入文件

<!--图片上传begin-->
<script type="text/javascript" src="/js/jquery.form.js"></script>
<script type="text/javascript" src="/js/uploadImg.js"></script>
<link href="/css/uploadImg.css" rel="stylesheet" type="text/css" />
<!--图片上传end-->

2.html部分

<div class="upimg">
<input name="icon" type="text" class="imgsrc" value="<!--{$contents.icon}-->" />
<div class="showimg">
<!--{if $contents.icon}-->
<img src="<!--{$contents.icon}-->" height="120px">
<!--{/if}-->
</div>
<div class="btn" style="height:20px;">
  <span>添加图片</span>
  <input class="fileupload" type="file" name="pic[]">
</div>
</div>

3.给fileupload加上表单

/*图片上传*/
$(".fileupload").wrap("<form action='/bookstore/book/uploadpic' method='post' enctype='multipart/form-data'></form>"); //函数处理

4.ajax文件上传

jQuery(function ($) {
  $(".fileupload").change(function(){ //选择文件
    if ('' === $(this).val()) return;
    var upimg = $(this).parent().parent().parent();
    var showimg = upimg.find('.showimg');
    var btn = upimg.find('.btn span');
    var imgsrc = upimg.find('.imgsrc');
    $(this).parent().ajaxSubmit({
      //dataType: 'json', //数据格式为json
      beforeSend: function() { //开始上传
        showimg.empty(); //清空显示的图片
        imgsrc.val("");
        btn.html("上传中..."); //上传按钮显示上传中
      },
      uploadProgress: function(event, position, total, percentComplete) {
      },
      success: function(data) { //成功
        //获得后台返回的json数据,显示文件名,大小,以及删除按钮
        var img = data;
        //显示上传后的图片
        imgsrc.val("");
        imgsrc.val(img);
        showimg.html("<img width='120' height='120' src='"+img+"'>");
        btn.html("上传成功"); //上传按钮还原
      },
      error:function(xhr){ //上传失败
        btn.html("上传失败");
      }
    });
  });
});

5.后台进行处理

public function uploadpicAction(){ //图片上传和显示
    $data = "";
    $src = $this->uploadFiles2($imgpath = "/upload/book" ,$filesname = "pic");
    isset($src[0]['src']) && $src[0]['src'] ? $data = $this->concaturl($src[0]['src']) : null;
    echo $data;
}

6.将返回的数据交给前端,进行一些处理。

进而提交到后台数据库。

php+ajax无刷新上传图片的实现方法

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php flv视频时间获取函数
Jun 29 PHP
PHP中使用gettext来支持多语言的方法
May 02 PHP
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
Dec 25 PHP
解析php中如何调用用户自定义函数
Aug 06 PHP
php中静态类与静态变量用法的区别分析
Jan 15 PHP
PHP实现的memcache环形队列类实例
Jul 28 PHP
PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
Aug 17 PHP
PHP随手笔记整理之PHP脚本和JAVA连接mysql数据库
Nov 25 PHP
PHP在线书签系统分享
Jan 04 PHP
php ajax实现文件上传进度条
Mar 29 PHP
thinkphp5 URL和路由的功能详解与实例
Dec 26 PHP
php实现mysql连接池效果实现代码
Jan 25 PHP
php解析base64数据生成图片的方法
Dec 06 #PHP
php rsa 加密,解密,签名,验签详解
Dec 06 #PHP
php中namespace及use用法分析
Dec 06 #PHP
PHP实现的统计数据功能详解
Dec 06 #PHP
php+ajax简单实现全选删除的方法
Dec 06 #PHP
thinkPHP数据库增删改查操作方法实例详解
Dec 06 #PHP
thinkPHP中volist标签用法示例
Dec 06 #PHP
You might like
phplock(php进程锁) v1.0 beta1
2009/11/24 PHP
PHP 基本语法格式
2009/12/15 PHP
PHP gbk环境下json_dencode传送来的汉字
2012/11/13 PHP
解析PHP实现下载文件的两种方法
2013/07/05 PHP
php中照片旋转 (orientation) 问题的正确处理
2017/02/16 PHP
前后台交互过程中json格式如何解析以及如何生成
2012/12/26 Javascript
javascript如何判断输入的url是否正确
2014/04/11 Javascript
鼠标事件的screenY,pageY,clientY,layerY,offsetY属性详解
2015/03/12 Javascript
小巧强大的jquery layer弹窗弹层插件
2015/12/06 Javascript
Jquery对新插入的节点 绑定Click事件失效的解决方法
2016/06/02 Javascript
手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
2016/12/06 Javascript
javascript解析ajax返回的xml和json格式数据实例详解
2017/01/05 Javascript
Bootstrap模态框使用详解
2017/02/15 Javascript
jQuery鼠标移动图片上实现放大效果
2017/06/25 jQuery
bootstrap精简教程_动力节点Java学院整理
2017/07/14 Javascript
Mint-UI时间组件起始时间问题及时间插件使用
2018/08/20 Javascript
JS如何获取地址栏的参数实例讲解
2018/10/06 Javascript
微信小程序实现通过js操作wxml的wxss属性示例
2018/12/06 Javascript
原生JS使用Canvas实现拖拽式绘图功能
2019/06/05 Javascript
浅谈监听单选框radio改变事件(和layui中单选按钮改变事件)
2019/09/10 Javascript
python妙用之编码的转换详解
2017/04/21 Python
Python处理CSV与List的转换方法
2018/04/19 Python
Python生成指定数量的优惠码实操内容
2019/06/18 Python
大学应届毕业生个人求职信
2013/09/23 职场文书
医学院学生的自我评价分享
2013/11/19 职场文书
仓库管理专业个人的自我评价
2013/12/30 职场文书
24岁生日感言
2014/01/13 职场文书
xxx同志考察材料
2014/02/07 职场文书
《忆江南》教学反思
2014/04/07 职场文书
踏青活动策划方案
2014/08/19 职场文书
贷款担保书范本
2015/09/22 职场文书
如何撰写创业策划书
2019/06/27 职场文书
《悲惨世界》:比天空更广阔的是人的心灵
2020/01/16 职场文书
redis配置文件中常用配置详解
2021/04/14 Redis
使用springboot暴露oracle数据接口的问题
2021/05/07 Oracle
Python如何配置环境变量详解
2021/05/18 Python