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 相关文章推荐
透析PHP的配置文件php.ini
Oct 09 PHP
ubuntu10.04配置 nginx+php-fpm模式的详解
Jun 03 PHP
详解PHP内置访问资源的超时时间 time_out file_get_contents read_file
Jun 03 PHP
百度ping方法使用示例 自动ping百度
Jan 26 PHP
php递归使用示例(php递归函数)
Feb 14 PHP
PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法
May 04 PHP
PHP判断文章里是否有图片的简单方法
Jul 26 PHP
javascript some()函数用法详解
Nov 13 PHP
前端必学之PHP语法基础
Jan 01 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
Sep 23 PHP
php读取本地json文件的实例
Mar 07 PHP
php识别翻转iphone拍摄的颠倒图片
May 17 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学习之数组值的操作
2011/04/17 PHP
浅析php插件 HTMLPurifier HTML解析器
2013/07/01 PHP
在PHP中使用redis
2013/11/04 PHP
PHP页面输出时js设置input框的选中值
2016/09/30 PHP
PHP实现创建微信自定义菜单的方法示例
2017/07/14 PHP
php写入txt乱码的解决方法
2019/09/17 PHP
初学js插入节点appendChild insertBefore使用方法
2011/07/04 Javascript
js如何取消事件冒泡
2013/09/23 Javascript
js opener的使用详解
2014/01/11 Javascript
jQuery实现下拉框左右选择的简单实例
2014/02/22 Javascript
基于NodeJS的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
2014/09/26 NodeJs
《JavaScript高级编程》学习笔记之object和array引用类型
2015/11/01 Javascript
jQuery EasyUI基础教程之EasyUI常用组件(推荐)
2016/07/15 Javascript
AngularJS指令中的绑定策略实例分析
2016/12/14 Javascript
纯JS实现表单验证实例
2016/12/24 Javascript
ajax接收后台数据在html页面显示
2017/02/19 Javascript
JavaScript生成简单等差数列
2017/11/28 Javascript
Vue微信项目按需授权登录策略实践思路详解
2018/05/07 Javascript
js回文数的4种判断方法示例
2019/06/04 Javascript
利用node 判断打开的是文件 还是 文件夹的实例
2019/06/10 Javascript
p5.js码绘“跳动的小正方形”的实现代码
2019/10/22 Javascript
VUE使用axios调用后台API接口的方法
2020/08/03 Javascript
jQuery实现回到顶部效果
2020/10/19 jQuery
利用Django框架中select_related和prefetch_related函数对数据库查询优化
2015/04/01 Python
基于pytorch的保存和加载模型参数的方法
2019/08/17 Python
HTML5+css3:3D旋转木马效果相册
2017/01/03 HTML / CSS
Mamaearth官方网站:印度母婴护理产品公司
2019/10/06 全球购物
XMLHttpRequest对象在IE和Firefox中创建方式有没有不同
2016/03/23 面试题
就业推荐表自我鉴定
2014/03/21 职场文书
小学教师寄语大全
2014/04/03 职场文书
事业单位鉴定材料
2014/05/25 职场文书
大学奖学金获奖感言
2014/08/15 职场文书
竞选班长演讲稿500字
2014/08/22 职场文书
2019广播稿怎么写
2019/04/17 职场文书
go 原生http web 服务跨域restful api的写法介绍
2021/04/27 Golang
深入理解Vue的数据响应式
2021/05/15 Vue.js