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

5年以前  |  阅读数:654 次  |  编程语言:PHP 

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《PHP+ajax技巧与应用小结》、《php文件操作总结》、《PHP图形与图片操作技巧汇总》、《PHP网络编程技巧总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

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

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例