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使之能同时支持GIF和JPEG
Oct 09 PHP
PHP中PDO的错误处理
Sep 04 PHP
判断PHP数组是否为空的代码
Sep 08 PHP
php空间不支持socket但支持curl时recaptcha的用法
Nov 07 PHP
基于PHP 面向对象之成员方法详解
May 04 PHP
php中session退出登陆问题
Feb 27 PHP
了解PHP的返回引用和局部静态变量
Jun 04 PHP
PHP实现根据时间戳获取周几的方法
Feb 26 PHP
php如何控制用户对图片的访问 PHP禁止图片盗链
Mar 25 PHP
php 判断页面或图片是否经过gzip压缩的方法
Apr 05 PHP
ThinkPHP 3.2.2实现事务操作的方法
May 05 PHP
PHP PDOStatement::bindParam讲解
Jan 30 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
php写的带缓存数据功能的mysqli类
2012/09/06 PHP
php实现word转html的方法
2016/01/22 PHP
PHP数据库操作三:redis用法分析
2017/08/16 PHP
PHP递归实现汉诺塔问题的方法示例
2017/11/25 PHP
动态控制Table的js代码
2007/03/07 Javascript
jQuery(1.6.3) 中css方法对浮动的实现缺陷分析
2011/09/09 Javascript
autoPlay 基于jquery的图片自动播放效果
2011/12/07 Javascript
IE6/IE7中JavaScript json提示缺少标识符、字符串或数字问题处理
2014/12/16 Javascript
jQuery实现返回顶部功能
2016/02/23 Javascript
Vue常用指令V-model用法
2017/03/08 Javascript
vue检测对象和数组的变化分析
2018/06/30 Javascript
vue组件横向树实现代码
2018/08/02 Javascript
详解Angular5/Angular6项目如何添加热更新(HMR)功能
2018/10/10 Javascript
微信小程序轮播图swiper代码详解
2020/12/01 Javascript
Python访问MySQL封装的常用类实例
2014/11/11 Python
Python中查看文件名和文件路径
2017/03/31 Python
浅谈python中的正则表达式(re模块)
2017/10/17 Python
Django中使用celery完成异步任务的示例代码
2018/01/23 Python
python3.6编写的单元测试示例
2019/08/17 Python
详解Python3迁移接口变化采坑记
2019/10/11 Python
python GUI库图形界面开发之PyQt5多线程中信号与槽的详细使用方法与实例
2020/03/08 Python
python多进程下的生产者和消费者模型
2020/05/07 Python
Python ckeditor富文本编辑器代码实例解析
2020/06/22 Python
详解Python中第三方库Faker
2020/09/25 Python
美国一家著名的手表在线折扣网站:Discount Watch Store
2020/02/24 全球购物
JAVA代码查错题
2014/10/10 面试题
大整数数相乘的问题
2012/07/22 面试题
产品工艺师的岗位职责
2013/11/15 职场文书
国培教师自我鉴定
2014/02/12 职场文书
职业生涯规划书前言
2014/04/15 职场文书
教师求职信
2014/06/17 职场文书
党员民主生活会对照检查材料思想汇报
2014/09/28 职场文书
2014年教师思想工作总结
2014/12/03 职场文书
《揠苗助长》教学反思
2016/02/20 职场文书
Python数据分析之pandas函数详解
2021/04/21 Python
Vue实现跑马灯样式文字横向滚动
2021/11/23 Vue.js