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 相关文章推荐
让你同时上传 1000 个文件 (二)
Oct 09 PHP
php allow_url_include的应用和解释
Apr 22 PHP
PHP 获取远程网页内容的代码(fopen,curl已测)
Jun 06 PHP
php顺序查找和二分查找示例
Mar 27 PHP
PHP基于yii框架实现生成ICO图标
Nov 13 PHP
Laravel 5.1 on SAE环境开发教程【附项目demo源码】
Oct 09 PHP
PHP控制反转(IOC)和依赖注入(DI)
Mar 13 PHP
利用php的ob缓存机制实现页面静态化方法
Jul 09 PHP
PHP如何搭建百度Ueditor富文本编辑器
Sep 21 PHP
PHP读取目录树的实现方法分析
Mar 22 PHP
php报错502badgateway解决方法
Oct 11 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
Apr 02 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 Zip压缩 在线对文件进行压缩的函数
2010/05/26 PHP
PHP滚动日志的代码实现
2015/06/10 PHP
帝国CMS留言板回复后发送EMAIL通知客户
2015/07/06 PHP
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
2016/06/06 PHP
php获取文件名称和扩展名的方法
2017/02/07 PHP
详解配置 Apache 服务器支持 PHP 文件的解析
2017/02/15 PHP
PHP封装curl的调用接口及常用函数详解
2018/05/31 PHP
js实现屏蔽默认快捷键调用自定义事件示例
2013/06/18 Javascript
对new functionName()定义一个函数的理解
2014/05/22 Javascript
JavaScript实现按Ctrl键打开新页面
2014/09/04 Javascript
分享JavaScript与Java中MD5使用两个例子
2015/12/23 Javascript
AngularJS基础 ng-readonly 指令简单示例
2016/08/02 Javascript
纯javascript版日历控件
2016/11/24 Javascript
JS闭包用法实例分析
2017/03/27 Javascript
浅析webpack 如何优雅的使用tree-shaking(摇树优化)
2017/08/16 Javascript
js自定义trim函数实现删除两端空格功能
2018/02/09 Javascript
javaScript实现鼠标在文字上悬浮时弹出悬浮层效果
2020/04/12 Javascript
怎样使你的 JavaScript 代码简单易读(推荐)
2019/04/16 Javascript
JavaScript布尔运算符原理使用解析
2020/05/06 Javascript
如何管理Vue中的缓存页面
2021/02/06 Vue.js
django接入新浪微博OAuth的方法
2015/06/29 Python
Python采用Django开发自己的博客系统
2020/09/29 Python
python读取txt文件中特定位置字符的方法
2018/12/24 Python
Python网络编程之使用TCP方式传输文件操作示例
2019/11/01 Python
python 实现将Numpy数组保存为图像
2020/01/09 Python
小 200 行 Python 代码制作一个换脸程序
2020/05/12 Python
使用Keras训练好的.h5模型来测试一个实例
2020/07/06 Python
Python 如何创建一个简单的REST接口
2020/07/30 Python
基于HTML5 Canvas的3D动态Chart图表的示例
2017/11/02 HTML / CSS
九年级政治教学反思
2014/02/06 职场文书
学习全国两会精神心得体会范文
2014/03/17 职场文书
服装发布会策划方案
2014/05/22 职场文书
校园学雷锋广播稿
2014/10/08 职场文书
房屋转让协议书
2014/10/18 职场文书
话题作文之自信作文
2019/11/15 职场文书
Z-Order加速Hudi大规模数据集方案分析
2022/03/31 Servers