PHP实现上传多图即时显示与即时删除的方法


Posted in PHP onMay 09, 2017

本文实例讲述了PHP实现上传多图即时显示与即时删除的方法。分享给大家供大家参考,具体如下:

PHP实现上传多图即时显示与即时删除的方法

就像这样的,每选择一个图片就会即时显示出来,附加到右边,也可以随意删除一个元素。

其实是,当type=file的input框框的onchange事件===》》》post数据提交到隐藏的ifram(form表单的target指定)===》》》接收到post数据的直接 echo    script标签来返回数据到前端页面并且赋值,然后存储图片路径也是用隐藏域实现:

HTML:

<!doctype html>
<html lang="cn">
<include file="Public/head"/>
<body>
<include file="Public/nav"/>
<iframe name="upload_url" style="display:none"></iframe>
   <div class="wlog">
     <div class="wlog_t cf">
       <b>写日志</b>
     </div>
     <div class="wlog_c">
       <form class="cf" id="myform" target="" enctype="multipart/form-data" action="" method="post">
         <div class="wlog_l">
           <textarea id="content" name="data[content]"></textarea>
           <input type="hidden" id="step" value="1" name="data[step]" />
         </div>
         <div class="wlog_r">
           <h2>选择装修阶段</h2>
           <b class="cur" mine="1" style="line-height:20px;">准备开工</b>
           <b mine="2" >水电</b>
           <b mine="3">泥木</b>
           <b mine="4">油漆</b>
           <b mine="5">竣工</b>
           <b mine="6">软装</b>
           <!-- <input type="hidden" value="准备开工"> -->
         </div>
         <div class="wlog_f cf">
           <h2><b>上传图片</b>选择装修过程中的照片,每张低于5M,支持JPG/JPEG/PNG格式,最多9张</h2>
           <div class="wlog_p cf">
             <a href="javascript:;" rel="external nofollow" ><img src="__PUBLIC__/home/images/2016-10-29_231703.png" alt=""><input onchange="submitimg()" type="file" name="thumb"/></a>
             <div id="addimg"></div>
             <!-- <b><img src="__PUBLIC__/home/images/2016-10-18_094906.png" alt=""><i>x</i></b>
             <b><img src="__PUBLIC__/home/images/2016-10-18_094906.png" alt=""><i>x</i></b>
             <b><img src="__PUBLIC__/home/images/2016-10-18_094906.png" alt=""><i>x</i></b>
             <b><img src="__PUBLIC__/home/images/2016-10-18_094906.png" alt=""><i>x</i></b>
             <b><img src="__PUBLIC__/home/images/2016-10-18_094906.png" alt=""><i>x</i></b>
             <b><img src="__PUBLIC__/home/images/2016-10-18_094906.png" alt=""><i>x</i></b>
             <b><img src="__PUBLIC__/home/images/2016-10-18_094906.png" alt=""><i>x</i></b>
             <b><img src="__PUBLIC__/home/images/2016-10-18_094906.png" alt=""><i>x</i></b> -->
           </div>
         </div>
         <div class="wlog_sm"><input type="botton" onclick="return goods_form_submit()" readonly="readonly" value="发布日志"></div>
       </form>
     </div>
   </div>
<include file="Public/footer"/>
  <script type="text/javascript">
  function submitimg(){
    $("#myform").attr('target','upload_url');
    $("#myform").attr('action',"{:U('Journal/submitimg')}");
    $("#myform").submit();
  }
  function goods_form_submit()
  {
     if(!$('#content').val()){
      alert('请填写日志');
      return false;
    }
    $('#myform').attr('target','');
    $('#myform').attr('action','');
    $('#myform').submit();
  }
  function callblack_img(path,uid)
  {  var html="";
    var dir = "{:C(FILE_PATH)}";
    var html ='<b><img src='+dir+path+'><i>x</i><input type="hidden" value="'+path+'" name="thumb['+uid+']"></b>';
    $('#addimg').append(html);
  }
  </script>
  <script type="text/javascript" src="__PUBLIC__/home/js/jquery-1.10.1.min.js"></script>
  <script type="text/javascript" src="__PUBLIC__/home/js/basis.js"></script>
  <script>
  $(function(){
    $('.wlog_r b').click(function(event) {
      $(this).addClass('cur').siblings('b').removeClass('cur');
      $('.wlog_r input[type=hidden]').val($(this).text());
    });
    $("#addimg").delegate("i","click",function () {
      $(this).parent("b").remove();
    })
  })
    $("b").click(function(){
      var value =$(this).attr('mine');
      $("#step").val(value);
    })
  </script>
</body>
</html>

控制器(返回被选中的图片(已经上传)在服务器之中的路径):

public function submitimg(){
    if(IS_POST){
        $data = I('post.data');//获取post数据
        $res = fab_upload($_FILES);//上传文件
        $uid=uniqid();
        $res=$res['thumb'];
        if($res){
          echo "<script>parent.callblack_img('{$res}','{$uid}');</script>";
        }
     }
}

真正的最后接收表单数据并且存入数据库的函数:

public function add_journal(){
     if(IS_POST){
         var_dump($_POST);die;
       }else{
        $this->display();
     }
}

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

PHP 相关文章推荐
PHP4实际应用经验篇(8)
Oct 09 PHP
PHP 删除一个目录及目录下的所有文件的函数代码
May 26 PHP
PHP下通过file_get_contents的代理使用方法
Feb 16 PHP
用PHP读取超大文件的实例代码
Apr 01 PHP
解析php安全性问题中的:Null 字符问题
Jun 21 PHP
codeigniter教程之多文件上传使用示例
Feb 11 PHP
小谈php正则提取图片地址
Mar 27 PHP
php实现水仙花数示例分享
Apr 03 PHP
PHP简单实现无限级分类的方法
May 13 PHP
Thinkphp框架中D方法与M方法的区别
Dec 23 PHP
PHP中类与对象功能、用法实例解读
Mar 27 PHP
基于PHP实现邮箱验证激活过程详解
Oct 28 PHP
Laravel中如何增加自定义全局函数详解
May 09 #PHP
laravel 5.3中自定义加密服务的方案详解
May 09 #PHP
Win7环境下Apache连接MySQL提示连接已重置的解决办法
May 09 #PHP
ThinkPHP使用getlist方法实现数据搜索功能示例
May 08 #PHP
ThinkPHP实现图片上传操作的方法详解
May 08 #PHP
PHP开发中csrf攻击的简单演示和防范
May 07 #PHP
ThinkPHP框架实现数据增删改
May 07 #PHP
You might like
全国FM电台频率大全 - 13 福建省
2020/03/11 无线电
php win下Socket方式发邮件类
2009/08/21 PHP
PHP中10个不常见却非常有用的函数
2010/03/21 PHP
用php随机生成福彩双色球号码的2种方法
2013/02/04 PHP
php中curl、fsocket、file_get_content三个函数的使用比较
2014/05/09 PHP
深入分析PHP引用(&amp;)
2014/09/04 PHP
详解PHP处理密码的几种方式
2016/11/30 PHP
PHP使用标准库spl实现的观察者模式示例
2018/08/04 PHP
基于PHP实现微信小程序客服消息功能
2019/08/12 PHP
PHP+ajax实现上传、删除、修改单张图片及后台处理逻辑操作详解
2020/02/12 PHP
jquery乱码与contentType属性设置问题解决方案
2013/01/07 Javascript
jQuery设置和移除文本框默认值的方法
2015/03/09 Javascript
JavaScript中数组的合并以及排序实现示例
2015/10/24 Javascript
新闻上下滚动jquery 超简洁(必看篇)
2017/01/21 Javascript
JS实现身份证输入框的输入效果
2017/08/21 Javascript
浅谈vue项目重构技术要点和总结
2018/01/23 Javascript
Vue自定义过滤器格式化数字三位加一逗号实现代码
2018/03/23 Javascript
Electron中实现大文件上传和断点续传功能
2018/10/28 Javascript
npm qs模块使用详解
2020/02/07 Javascript
Javascript异步编程async实现过程详解
2020/04/02 Javascript
彻底搞懂并解决vue-cli4中图片显示的问题实现
2020/08/31 Javascript
Flask的图形化管理界面搭建框架Flask-Admin的使用教程
2016/06/13 Python
Python抓取框架 Scrapy的架构
2016/08/12 Python
python简单商城购物车实例代码
2018/03/15 Python
Python 实现交换矩阵的行示例
2019/06/26 Python
Python hashlib模块实例使用详解
2019/12/24 Python
python使用建议与技巧分享(二)
2020/08/17 Python
html5 input输入实时检测以及延时优化
2018/07/18 HTML / CSS
德国、奥地利和瑞士最大的旅行和度假门户网站:HolidayCheck
2019/11/14 全球购物
继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
2015/11/18 面试题
临床医学应届生求职信
2013/11/06 职场文书
社区七一党员活动方案
2014/01/25 职场文书
电钳工人个人求职信
2014/05/10 职场文书
大学生见习期满自我鉴定
2014/09/13 职场文书
党的群众路线教育实践活动个人整改方案
2014/10/25 职场文书
学生会宣传部竞选稿
2015/11/21 职场文书