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

5 篇文章 1 订阅
3 篇文章 0 订阅

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

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

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

HTML:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

<!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>

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

?

1

2

3

4

5

6

7

8

9

10

11

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>";

        }

     }

}

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

?

1

2

3

4

5

6

7

public function add_journal(){

     if(IS_POST){

         var_dump($_POST);die;

       }else{

        $this->display();

     }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值