layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件进行后台处理操作示例
author:一佰互联 2019-04-25   click:658

本文实例讲述了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程序设计有所帮助。