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与javascript对多项选择的处理
Oct 09 PHP
PHP邮件专题
Oct 09 PHP
php在线生成ico文件的代码
Oct 09 PHP
php自定义函数之递归删除文件及目录
Aug 08 PHP
PHP写的加密函数,支持私人密钥(详细介绍)
Jun 09 PHP
PHP数组排序函数合集 以及它们之间的联系分析
Jun 27 PHP
Zend Studio 实用快捷键一览表(精心整理)
Aug 10 PHP
php-fpm配置详解
Feb 12 PHP
PHP5.3新特性小结
Feb 14 PHP
PHP编写文件多服务器同步程序
Jul 02 PHP
PHP中overload与override的区别
Feb 13 PHP
创建无限极分类树型结构的简单方法
Jun 20 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获取MAC地址的具体实例
2013/12/13 PHP
php调用c接口无错版介绍
2014/03/11 PHP
Symfony2创建页面实例详解
2016/03/18 PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
2019/10/21 PHP
强大的jquery插件jqeuryUI做网页对话框效果!简单
2011/04/14 Javascript
Jquery下EasyUI组件中的DataGrid结果集清空方法
2014/01/06 Javascript
jquery通过visible来判断标签是否显示或隐藏
2014/05/08 Javascript
javascript面向对象之访问对象属性的两种方式分析
2015/01/13 Javascript
jQuery实现行文字链接提示效果的方法
2015/03/10 Javascript
再JavaScript的jQuery库中编写动画效果的指南
2015/08/13 Javascript
js判断当前页面用什么浏览器打开的方法
2016/01/06 Javascript
Bootstrap入门书籍之(五)导航条、分页导航
2016/02/17 Javascript
微信小程序 icon组件详细及实例代码
2016/10/25 Javascript
JS比较两个数值的大小实例
2016/11/25 Javascript
canvas压缩图片转换成base64格式输出文件流
2017/03/09 Javascript
JS实现的随机排序功能算法示例
2017/06/09 Javascript
利用JS测试目标网站的打开响应速度
2017/12/01 Javascript
手把手带你封装一个vue component第三方库
2019/02/14 Javascript
layui数据表格 table.render 报错的解决方法
2019/09/29 Javascript
jQuery实现全选、反选和不选功能的方法详解
2019/12/04 jQuery
[01:23]2019完美世界全国高校联赛(春季赛)合肥全国总决赛
2019/06/10 DOTA
举例讲解Linux系统下Python调用系统Shell的方法
2015/11/07 Python
Python循环语句中else的用法总结
2016/09/11 Python
appium+python adb常用命令分享
2020/03/06 Python
pyCharm 实现关闭代码检查
2020/06/09 Python
CSS3的resize属性使用初探
2015/09/27 HTML / CSS
2014年国培研修感言
2014/03/09 职场文书
2014年妇女工作总结
2014/12/06 职场文书
构建和谐校园倡议书
2015/01/19 职场文书
篮球赛闭幕式主持词
2015/07/03 职场文书
2016年幼儿园庆六一开幕词
2016/03/04 职场文书
Python爬虫之自动爬取某车之家各车销售数据
2021/06/02 Python
SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息
2021/06/30 SQL Server
JVM之方法返回地址详解
2022/02/28 Java/Android
MySQL 分区表中分区键为什么必须是主键的一部分
2022/03/17 MySQL
Python之matplotlib绘制折线图
2022/04/13 Python