這篇文章主要介紹了layui架構實現檔案上傳及TP3.2.3對上傳檔案進行幕後處理操作,結合執行個體形式分析了layui架構結合thinkPHP進行檔案上傳與處理操作相關實現技巧,需要的朋友可以參考下
本文執行個體講述了layui架構實現檔案上傳及TP3.2.3對上傳檔案進行幕後處理操作。分享給大家供大家參考,具體如下:
layui架構是1.0.9版本。。
首先html頁面代碼如下:
<p class="layui-form-item" id="upload_file"> <p class="layui-input-block" style="width: 300px;"> <input type="hidden" id="img_url1" name="HeadImageUrl" value=""/> <p class="layui-upload-drag" id="uploadpic1" lay-verify="uploadpic1"> <p class="layui-col-xs12 layui-col-md12"> <img class="layui-upload-img" id="demo1" > </p> <p class="button-hide"> <input type="file" name="banner_file_upload" id="banner_file_upload" class="layui-uplaod-file" lay-type="file"> </p> </p> </p></p>
js代碼如下:
<script type="text/javascript" th:inline="javascript"> layui.use('upload', function (){ var upload = layui.upload; var url="__PUBLIC__"; upload({ elem: '#banner_file_upload', url: "/index.php/Admin/Product/upload", method: 'post', before: function(obj){ console.log('檔案上傳中'); layer.load(); }, success: function (msg) { console.log(msg); if(msg.msg=="success"){ layer.closeAll('loading'); layer.msg("上傳成功"); $("#img_url1").attr("value", msg.src); }else if(msg.msg=="error"){ layer.closeAll('loading'); layer.msg(msg.code); } }, error:function (data) { layer.msg("上傳失敗"); console.log(data); } }); });</script>
接下來的php後台接值的方法:
#上傳檔案方法public function upload(){ $res=array( 'code'=>1, 'msg'=>'no sorry', 'data'=>array( 'src'=>'', ) ); #圖片存放路徑 $directory = C('UPLOAD_PATH')."/Public/docment/"; #判斷目錄是否存在 不存在則建立 if(!(is_dir($directory))){ $this->directory($directory); } #擷取資料庫最後一條id 當做檔案名稱 $product_last_id=D('ApiProduct')->getLastId(); $savename="ApiProduct_".time().'_'.($product_last_id['id']+1); $upload = new \Think\Upload(); $upload->maxSize = 0; $upload->exts = array('doc','docx','xls','xlsx','pdf','txt'); $upload->rootPath = $directory; $upload->saveName="$savename"; $upload->savePath = ''; $info = $upload->uploadOne($_FILES['banner_file_upload']); if(!$info){ $res['code']=$upload->getError(); $res['msg']='error'; }else{ $res['code']=0; $res['msg']='success'; $res['src']="/Public/docment/".$savename.".".$info['ext']; } echo json_encode($res);die;}/*** 遞迴建立檔案* @author erwa<erwa@qingjinju.net>*/public function directory($dir){ return is_dir ( $dir ) or directory(dirname( $dir )) and mkdir ( $dir , 0777);}
您可能感興趣的文章:
Laravel架構實現model層的增刪改查操作樣本
ThinkPHP架構實現匯出excel資料的方法樣本
原生JS實現Ajax通過POST方式與PHP進行互動的方法樣本php技巧