当前位置: 首页 > 编程笔记 >

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

申屠裕
2023-03-14
本文向大家介绍layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件进行后台处理操作示例,包括了layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件进行后台处理操作示例的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了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 \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);
}

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

 类似资料:
  • 本文向大家介绍Django框架静态文件处理、中间件、上传文件操作实例详解,包括了Django框架静态文件处理、中间件、上传文件操作实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Django框架静态文件处理、中间件、上传文件操作。分享给大家供大家参考,具体如下: Django静态文件处理、中间件、上传文件 静态文件处理 在Django中,一般专门创建一个static目录来存放静态文

  • 本文向大家介绍SpringBoot+layui实现文件上传功能,包括了SpringBoot+layui实现文件上传功能的使用技巧和注意事项,需要的朋友参考一下 什么是spring boot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解

  • 本文向大家介绍layui 实现表单和文件上传一起传到后台的例子,包括了layui 实现表单和文件上传一起传到后台的例子的使用技巧和注意事项,需要的朋友参考一下 HTML代码 JavaScript代码 以上这篇layui 实现表单和文件上传一起传到后台的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 本文向大家介绍Spring框架实现文件上传功能,包括了Spring框架实现文件上传功能的使用技巧和注意事项,需要的朋友参考一下 在Java中实现文件的上传有多种方式,如smartUpload或是使用Strus2,本文与大家分享使用Spring框架中的MultipartFile类来实例文件的上传。 不啰嗦了,直接上干货。先是编写了一个实现文件上传的类FileUploadingUtil,此类中定义了两

  • 你想处理一个由用户上传的文件,比如你正在建设一个类似Instagram的网站,你需要存储用户拍摄的照片。这种需求该如何实现呢? 要使表单能够上传文件,首先第一步就是要添加form的enctype属性,enctype属性有如下三种情况: application/x-www-form-urlencoded 表示在发送前编码所有字符(默认) multipart/form-data 不对字符

  • 本文向大家介绍Thinkphp多文件上传实现方法,包括了Thinkphp多文件上传实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Thinkphp多文件上传实现方法,分享给大家供大家参考。具体实现方法如下: Thinkphp手册中对于多文件上传描述的很清楚:如果需要使用多个文件,只需要修改表单,把 改为 或者 暂且自己的上传表单域为两个,一个上传图片,一个上传视频。字段名为imag