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 相关文章推荐
下载文件的点击数回填
Oct 09 PHP
php数组函数序列之in_array() 查找数组值是否存在
Oct 29 PHP
基于Zookeeper的使用详解
May 02 PHP
php使用sql数据库 获取字段问题介绍
Aug 12 PHP
php读取文件内容到数组的方法
Mar 16 PHP
php生成固定长度纯数字编码的方法
Jul 09 PHP
百度地图API使用方法详解
Aug 25 PHP
PHP实现简单ajax Loading加载功能示例
Dec 28 PHP
PHP中函数gzuncompress无法使用的解决方法
Mar 02 PHP
laravel多条件查询方法(and,or嵌套查询)
Oct 09 PHP
php操作redis命令及代码实例大全
Nov 19 PHP
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
Apr 11 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
一些 PHP 管理系统程序中的后门
2009/08/05 PHP
php 截取字符串并以零补齐str_pad() 函数
2011/05/07 PHP
PHP类的封装与继承详解
2015/09/29 PHP
PHP实现分布式memcache设置web集群session同步的方法
2018/04/10 PHP
django中的ajax组件教程详解
2018/10/18 PHP
JavaScript创建命名空间(namespace)的最简实现
2007/12/11 Javascript
js中判断Object、Array、Function等引用类型对象是否相等
2012/08/29 Javascript
js超时调用setTimeout和间歇调用setInterval实例分析
2015/01/28 Javascript
JSON字符串和对象之间的转换详解
2015/05/26 Javascript
jQuery CSS3相结合实现时钟插件
2016/01/08 Javascript
Bootstrap基本组件学习笔记之导航(10)
2016/12/07 Javascript
纯jQuery实现前端分页功能
2017/03/23 jQuery
node.JS的crypto加密模块使用方法详解(MD5,AES,Hmac,Diffie-Hellman加密)
2020/02/06 Javascript
Node.js中出现未捕获异常的处理方法
2020/06/29 Javascript
python解析json实例方法
2013/11/19 Python
Python编程实现删除VC临时文件及Debug目录的方法
2017/03/22 Python
Python获取当前函数名称方法实例分享
2018/01/18 Python
Python实现PS滤镜特效之扇形变换效果示例
2018/01/26 Python
pip安装py_zipkin时提示的SSL问题对应
2018/12/29 Python
Python中字典与恒等运算符的用法分析
2019/08/22 Python
简单的Python调度器Schedule详解
2019/08/30 Python
pycharm解决关闭flask后依旧可以访问服务的问题
2020/04/03 Python
python opencv实现直线检测并测出倾斜角度(附源码+注释)
2020/12/31 Python
英国信箱在线鲜花速递公司:Bloom & Wild
2019/03/10 全球购物
创意爱尔兰礼物:Creative Irish Gifts
2020/01/29 全球购物
艺术设计专业个人求职信
2013/09/21 职场文书
办公室经理岗位职责
2014/01/01 职场文书
激励口号大全
2014/06/17 职场文书
工会趣味活动方案
2014/08/18 职场文书
大学生推广普通话演讲稿
2014/09/21 职场文书
小学校园广播稿集锦
2014/10/04 职场文书
小学国庆节活动总结
2015/03/23 职场文书
公司开业的祝贺语大全(60条)
2019/07/05 职场文书
微信小程序中wxs文件的一些妙用分享
2022/02/18 Javascript
MySQL中正则表达式(REGEXP)使用详解
2022/07/07 MySQL
MyBatis在注解上使用动态SQL方式(@select使用if)
2022/07/07 Java/Android