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 相关文章推荐
phpBB BBcode处理的漏洞
Oct 09 PHP
php escape URL编码
Dec 10 PHP
浅谈php serialize()与unserialize()的用法
Jun 05 PHP
PHP开发微信支付的代码分享
May 25 PHP
单台服务器的PHP进程之间实现共享内存的方法
Jun 13 PHP
微信公众平台开发关注及取消关注事件的方法
Dec 23 PHP
php中实现用数组妩媚地生成要执行的sql语句
Jul 10 PHP
Zend Framework前端控制器用法示例
Dec 11 PHP
Yii2下点击验证码的切换实例代码
Mar 14 PHP
phpstorm 正则匹配删除空行、注释行(替换注释行为空行)
Jan 21 PHP
PHP从零开始打造自己的MVC框架之入口文件实现方法详解
Jun 03 PHP
Thinkphp框架+Layui实现图片/文件上传功能分析
Feb 07 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
让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享
2011/08/08 PHP
php使用cookie实现记住登录状态
2015/04/27 PHP
PHP正则匹配操作简单示例【preg_match_all应用】
2017/07/10 PHP
Laravel中前端js上传图片到七牛云的示例代码
2017/09/04 PHP
一个高效的JavaScript压缩工具下载集合
2007/03/06 Javascript
json 定义
2008/06/10 Javascript
在JavaScript中使用NaN值的方法
2015/06/05 Javascript
JavaScript jquery及AJAX小结
2016/01/24 Javascript
深入理解选择框脚本[推荐]
2016/12/13 Javascript
在一个页面重复使用一个js函数的方法详解
2016/12/26 Javascript
jQuery Ajax实现跨域请求
2017/01/21 Javascript
在Vue中使用echarts的实例代码(3种图)
2017/07/10 Javascript
JS+HTML实现的圆形可点击区域示例【3种方法】
2018/08/01 Javascript
JS实现获取当前所在周的周六、周日示例分析
2019/05/11 Javascript
vue日历/日程提醒/html5本地缓存功能
2019/09/02 Javascript
解决vuex数据异步造成初始化的时候没值报错问题
2019/11/13 Javascript
Vue关于组件化开发知识点详解
2020/05/13 Javascript
Python新手实现2048小游戏
2015/03/31 Python
Python的Django框架中if标签的相关使用
2015/07/15 Python
Python在Windows和在Linux下调用动态链接库的教程
2015/08/18 Python
Python决策树分类算法学习
2017/12/22 Python
python机器学习案例教程——K最近邻算法的实现
2017/12/28 Python
python pyinstaller 加载ui路径方法
2019/06/10 Python
python解析多层json操作示例
2019/12/30 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
2020/02/27 Python
Python面向对象程序设计之类和对象、实例变量、类变量用法分析
2020/03/23 Python
MoviePy简介及Python视频剪辑自动化
2020/12/18 Python
CSS3效果:自定义“W”形运行轨迹实例
2017/03/29 HTML / CSS
无谷物狗粮:Pooch & Mutt
2018/05/23 全球购物
介绍一下gcc特性
2012/01/20 面试题
应届生如何写自荐信
2014/01/05 职场文书
致铅球运动员加油稿
2014/02/13 职场文书
中文教师求职信
2014/02/22 职场文书
效能风暴心得体会
2014/09/04 职场文书
2016廉洁教育心得体会
2016/01/20 职场文书
深入理解go slice结构
2021/09/15 Golang