当前位置:首页 > CMS教程 > 其它CMS > 列表

layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件进行后台处理操作示例

发布:smiling 来源: PHP粉丝网  添加日期:2021-09-17 10:27:20 浏览: 评论:0 

这篇文章主要介绍了layui框架实现文件上传及TP3.2.3对上传文件进行后台处理操作,结合实例形式分析了layui框架结合thinkPHP进行文件上传与处理操作相关实现技巧,需要的朋友可以参考下。

本文实例讲述了layui框架实现文件上传及TP3.2.3对上传文件进行后台处理操作,分享给大家供大家参考,具体如下:

layui框架是1.0.9版本。。

首先html页面代码如下:

  1. <div class="layui-form-item" id="upload_file"> 
  2.      <div class="layui-input-block" style="width: 300px;"> 
  3.       <input type="hidden" id="img_url1" name="HeadImageUrl" value=""/> 
  4.       <div class="layui-upload-drag" id="uploadpic1" lay-verify="uploadpic1"> 
  5.         <div class="layui-col-xs12 layui-col-md12"> 
  6.           <img class="layui-upload-img" id="demo1" > 
  7.         </div> 
  8.         <div class="button-hide"> 
  9.           <input type="file" name="banner_file_upload" id="banner_file_upload" class="layui-uplaod-file"  lay-type="file"> 
  10.         </div> 
  11.       </div> 
  12.     </div> 
  13. </div> 

js代码如下:

  1. <script type="text/javascript" th:inline="javascript"
  2.      layui.use('upload'function (){ 
  3.        var upload = layui.upload; 
  4.        var url="__PUBLIC__"
  5.        upload({ 
  6.          elem: '#banner_file_upload'
  7.          url: "/index.php/Admin/Product/upload"
  8.          method: 'post'
  9.          before: function(obj){ 
  10.            console.log('文件上传中'); 
  11.            layer.load(); 
  12.          }, 
  13.          success: function (msg) { 
  14.            console.log(msg); 
  15.            if(msg.msg=="success"){ 
  16.              layer.closeAll('loading'); 
  17.              layer.msg("上传成功"); 
  18.              $("#img_url1").attr("value", msg.src); 
  19.            }else if(msg.msg=="error"){ 
  20.              layer.closeAll('loading'); 
  21.              layer.msg(msg.code); 
  22.            } 
  23.          }, 
  24.          error:function (data) { 
  25.            layer.msg("上传失败"); 
  26.            console.log(data); 
  27.          } 
  28.        }); 
  29.      }); 
  30. </script> 

接下来的php后台接值的方法:

  1. #上传文件方法 
  2. public function upload(){ 
  3.     $res=array( 
  4.      'code'=>1, 
  5.      'msg'=>'no sorry'
  6.       'data'=>array( 
  7.         'src'=>''
  8.       ) 
  9.     ); 
  10.     #图片存放路径 
  11.     $directory = C('UPLOAD_PATH')."/Public/docment/"
  12.     #判断目录是否存在 不存在则创建 
  13.     if(!(is_dir($directory))){ 
  14.       $this->directory($directory); 
  15.     } 
  16.     #获取数据库最后一条id 当做文件名称 
  17.     $product_last_id=D('ApiProduct')->getLastId(); 
  18.     $savename="ApiProduct_".time().'_'.($product_last_id['id']+1); 
  19.     $upload = new \Think\Upload(); 
  20.     $upload->maxSize = 0; 
  21.     $upload->exts = array('doc','docx','xls','xlsx','pdf','txt'); 
  22.     $upload->rootPath = $directory; 
  23.     $upload->saveName="$savename"
  24.     $upload->savePath = ''
  25.     $info = $upload->uploadOne($_FILES['banner_file_upload']); 
  26.     if(!$info){ 
  27.       $res['code']=$upload->getError(); 
  28.       $res['msg']='error'
  29.     }else
  30.       $res['code']=0; 
  31.       $res['msg']='success'
  32.       $res['src']="/Public/docment/".$savename.".".$info['ext']; 
  33.     } 
  34.    echo json_encode($res);die; 
  35. /** 
  36. * 递归创建文件 
  37. * @author erwa<erwa@qingjinju.net> 
  38. */ 
  39. public function directory($dir){ 
  40.     return is_dir ( $dir ) or directory(dirname( $dir )) and mkdir ( $dir , 0777); 
  41. }

Tags: layui框架文件上传

分享到: