本文实例讲述了layui框架实现文件上传及TP3.2.3对上传文件进行后台处理操作。分享给大家供大家参考,具体如下:
layui框架是1.0.9版本。。
首先html页面代码如下:
<div class="layui-form-item" id="upload_file"> <div class="layui-input-block" style="width: 300px;"> <input type="hidden" id="img_url1" name="HeadImageUrl" value=""/> <div class="layui-upload-drag" id="uploadpic1" lay-verify="uploadpic1"> <div class="layui-col-xs12 layui-col-md12"> <img class="layui-upload-img" id="demo1" > </div> <div class="button-hide"> <input type="file" name="banner_file_upload" id="banner_file_upload" class="layui-uplaod-file" lay-type="file"> </div> </div> </div></div>
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 ThinkUpload(); $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);}
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。