小編給大家分享一下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" ></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"> <h3>選擇裝修階段</h3> <b class="cur" mine="1" >準備開工</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"> <h3><b>上傳圖片</b>選擇裝修過程中的照片,每張低于5M,支持JPG/JPEG/PNG格式,最多9張</h3> <div class="wlog_p cf"> <a href="javascript:;" rel="external nofollow" ><img src="__PUBLIC__/home/images/2016-10-29_231703.png" ><input onchange="submitimg()" type="file" name="thumb"/></a> <div id="addimg"></div> <!-- <b><img src="__PUBLIC__/home/images/2016-10-18_094906.png" ><i>x</i></b> <b><img src="__PUBLIC__/home/images/2016-10-18_094906.png" ><i>x</i></b> <b><img src="__PUBLIC__/home/images/2016-10-18_094906.png" ><i>x</i></b> <b><img src="__PUBLIC__/home/images/2016-10-18_094906.png" ><i>x</i></b> <b><img src="__PUBLIC__/home/images/2016-10-18_094906.png" ><i>x</i></b> <b><img src="__PUBLIC__/home/images/2016-10-18_094906.png" ><i>x</i></b> <b><img src="__PUBLIC__/home/images/2016-10-18_094906.png" ><i>x</i></b> <b><img src="__PUBLIC__/home/images/2016-10-18_094906.png" ><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如何實現上傳多圖即時顯示與即時刪除功能”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。