PHP實(shí)現(xiàn)上傳多圖即時(shí)顯示與即時(shí)刪除的方法
本文實(shí)例講述了PHP實(shí)現(xiàn)上傳多圖即時(shí)顯示與即時(shí)刪除的方法。分享給大家供大家參考,具體如下:
就像這樣的,每選擇一個(gè)圖片就會(huì)即時(shí)顯示出來,附加到右邊,也可以隨意刪除一個(gè)元素。
其實(shí)是,當(dāng)type=file的input框框的onchange事件===》》》post數(shù)據(jù)提交到隱藏的ifram(form表單的target指定)===》》》接收到post數(shù)據(jù)的直接 echo script標(biāo)簽來返回?cái)?shù)據(jù)到前端頁面并且賦值,然后存儲(chǔ)圖片路徑也是用隱藏域?qū)崿F(xiàn):
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;">準(zhǔn)備開工</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="準(zhǔn)備開工"> --> </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="發(fā)布日志"></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('請(qǐng)?zhí)顚懭罩?); 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>
控制器(返回被選中的圖片(已經(jīng)上傳)在服務(wù)器之中的路徑):
public function submitimg(){ if(IS_POST){ $data = I('post.data');//獲取post數(shù)據(jù) $res = fab_upload($_FILES);//上傳文件 $uid=uniqid(); $res=$res['thumb']; if($res){ echo "<script>parent.callblack_img('{$res}','{$uid}');</script>"; } } }
真正的最后接收表單數(shù)據(jù)并且存入數(shù)據(jù)庫(kù)的函數(shù):
public function add_journal(){ if(IS_POST){ var_dump($_POST);die; }else{ $this->display(); } }
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php文件操作總結(jié)》、《PHP圖形與圖片操作技巧匯總》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- PHP + plupload.js實(shí)現(xiàn)多圖上傳并顯示進(jìn)度條加刪除實(shí)例代碼
- thinkphp jquery實(shí)現(xiàn)圖片上傳和預(yù)覽效果
- PHP仿微信多圖片預(yù)覽上傳實(shí)例代碼
- PHP從FLV文件獲取視頻預(yù)覽圖的方法
- PHP簡(jiǎn)單獲取視頻預(yù)覽圖的方法
- PHP實(shí)現(xiàn)將視頻轉(zhuǎn)成MP4并獲取視頻預(yù)覽圖的方法
- php+js實(shí)現(xiàn)圖片的上傳、裁剪、預(yù)覽、提交示例
- php圖片上傳存儲(chǔ)源碼并且可以預(yù)覽
- ajax php實(shí)現(xiàn)給fckeditor文本編輯器增加圖片刪除功能
- 簡(jiǎn)單PHP上傳圖片、刪除圖片實(shí)現(xiàn)代碼
- php 刪除記錄同時(shí)刪除圖片文件的實(shí)現(xiàn)代碼
相關(guān)文章
php刪除與復(fù)制文件夾及其文件夾下所有文件的實(shí)現(xiàn)代碼
最近寫代碼,需要個(gè)復(fù)制文件夾與及其文件夾下所有文件的功能,有時(shí)候需要?jiǎng)h除,就可以用這個(gè)函數(shù)了,通過xcopy與deldir的自定義函數(shù),確實(shí)方便多了,特分享下2013-01-01解析關(guān)于java,php以及html的所有文件編碼與亂碼的處理方法匯總
本篇文章是對(duì)關(guān)于java,php以及html的所有文件編碼與亂碼的處理方法進(jìn)行了詳細(xì)的總結(jié)與介紹,需要的朋友參考下2013-06-06PHP封裝mysqli基于面向?qū)ο蟮膍ysql數(shù)據(jù)庫(kù)操作類與用法示例
這篇文章主要介紹了PHP封裝mysqli基于面向?qū)ο蟮膍ysql數(shù)據(jù)庫(kù)操作類與用法,涉及php使用mysqli操作mysql數(shù)據(jù)庫(kù)的連接、執(zhí)行sql語句、關(guān)閉連接等相關(guān)操作技巧,需要的朋友可以參考下2019-02-02PHP進(jìn)階學(xué)習(xí)之依賴注入與Ioc容器詳解
這篇文章主要介紹了PHP進(jìn)階學(xué)習(xí)之依賴注入與Ioc容器,結(jié)合實(shí)例形式詳細(xì)分析了依賴注入與Ioc容器概念、原理、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-06-06在任意字符集下正常顯示網(wǎng)頁的方法二(續(xù))
在任意字符集下正常顯示網(wǎng)頁的方法二(續(xù))...2007-04-04PHP遞歸遍歷多維數(shù)組實(shí)現(xiàn)無限分類的方法
這篇文章主要介紹了PHP遞歸遍歷多維數(shù)組實(shí)現(xiàn)無限分類的方法,涉及PHP遞歸操作遍歷數(shù)組的相關(guān)技巧,在聯(lián)動(dòng)菜單及父子欄目設(shè)計(jì)等方面非常具有實(shí)用價(jià)值,需要的朋友可以參考下2016-05-05