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 相关文章推荐
Drupal 添加模块出现莫名其妙的错误的解决方法(往往出现在模块较多时)
Apr 18 PHP
PHP基础教程(php入门基础教程)一些code代码
Jan 06 PHP
简单的php数据库操作类代码(增,删,改,查)
Apr 08 PHP
PHP5中GD库生成图形验证码(有汉字)
Jul 28 PHP
php数组去重实例及分析
Nov 26 PHP
浅谈PHP调用Webservice思路及源码分享
Jun 04 PHP
PHP循环遍历数组的3种方法list()、each()和while总结
Nov 19 PHP
PHP使用array_merge重新排列数组下标的方法
Jul 22 PHP
thinkPHP5.0框架整体架构总览【应用,模块,MVC,驱动,行为,命名空间等】
Mar 25 PHP
Laravel5.* 打印出执行的sql语句的方法
Jul 24 PHP
在TP5数据库中四个字段实现无限分类的示例
Oct 18 PHP
Cookie跨域问题解决方案代码示例
Nov 24 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
Win7 64位系统下PHP连接Oracle数据库
2014/08/20 PHP
PHP中empty,isset,is_null用法和区别
2017/02/19 PHP
浅谈php调用python文件
2019/03/29 PHP
php利用array_search与array_column实现二维数组查找
2019/07/08 PHP
jQuery带箭头提示框tooltips插件集锦
2014/11/17 Javascript
SyntaxHighlighter 3.0.83使用笔记
2015/01/26 Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
2016/01/12 Javascript
jQuery+json实现动态创建复杂表格table的方法
2016/10/25 Javascript
javascript动画系列之模拟滚动条
2016/12/13 Javascript
Bootstrap输入框组件简单实现代码
2017/03/06 Javascript
Vue.js实例方法之生命周期详解
2017/07/03 Javascript
React-Native实现ListView组件之上拉刷新实例(iOS和Android通用)
2017/07/11 Javascript
Angular.js初始化之ng-app的自动绑定与手动绑定详解
2017/07/31 Javascript
使用JavaScript实现表格编辑器(实例讲解)
2017/08/02 Javascript
Angular2的管道Pipe的使用方法
2017/11/07 Javascript
JavaScript基于面向对象实现的猜拳游戏
2018/01/03 Javascript
JS限制输入框输入的实现代码
2018/07/02 Javascript
JavaScript 预解析的4种实现方法解析
2019/09/03 Javascript
JavaScript实现英语单词题库
2019/12/24 Javascript
javascript使用Blob对象实现的下载文件操作示例
2020/04/18 Javascript
[04:42]2015国际邀请赛CDEC战队晋级之路
2015/08/13 DOTA
Python中if __name__ == &quot;__main__&quot;详细解释
2014/10/21 Python
Python内置函数dir详解
2015/04/14 Python
Python编程之字符串模板(Template)用法实例分析
2017/07/22 Python
Python单元测试简单示例
2018/07/03 Python
浅谈Python中的bs4基础
2018/10/21 Python
NumPy统计函数的实现方法
2020/01/21 Python
From CSV to SQLite3 by python 导入csv到sqlite实例
2020/02/14 Python
Hotels.com印度:酒店预订
2019/05/11 全球购物
可爱的童装和鞋子:Fabkids
2019/08/16 全球购物
瑞士网球商店:Tennis-Point
2020/03/12 全球购物
为什么会有内存对齐
2016/10/10 面试题
辞职信范文大全
2015/03/02 职场文书
离婚起诉书怎么写
2015/05/19 职场文书
2016年过年放假安排通知
2015/08/18 职场文书
centos环境下nginx高可用集群的搭建指南
2022/07/23 Servers