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


Posted in PHP onMay 12, 2018

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

PHP 相关文章推荐
php面向对象全攻略 (十二) 抽象方法和抽象类
Sep 30 PHP
php实现自动获取生成文章主题关键词功能的深入分析
Jun 03 PHP
安装apache2.2.22配置php5.4(具体操作步骤)
Jun 26 PHP
PHP实现图片旋转效果实例代码
Oct 01 PHP
PHP实现懒加载的方法
Mar 07 PHP
php根据一个给定范围和步进生成数组的方法
Jun 19 PHP
[原创]PHP实现逐行删除文件右侧空格的方法
Dec 25 PHP
PHP图片加水印实现方法
May 06 PHP
深入理解PHP 数组之count 函数
Jun 13 PHP
PHP之十六个魔术方法详细介绍
Nov 01 PHP
PHP 年月日的三级联动实例代码
May 24 PHP
php + WebUploader实现图片批量上传功能
May 06 PHP
PHP折半(二分)查找算法实例分析
May 12 #PHP
PHP区块查询实现方法分析
May 12 #PHP
可兼容php5与php7的cURL文件上传功能实例分析
May 11 #PHP
PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
May 11 #PHP
PHP7基于curl实现的上传图片功能
May 11 #PHP
关于ThinkPHP中的异常处理详解
May 11 #PHP
PHP基于递归算法解决兔子生兔子问题
May 11 #PHP
You might like
十天学会php之第三天
2006/10/09 PHP
destoon出现验证码不显示时的紧急处理方法
2014/08/22 PHP
php获得客户端浏览器名称及版本的方法(基于ECShop函数)
2015/12/23 PHP
PHP实现长文章分页实例代码(附源码)
2016/02/03 PHP
layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件进行后台处理操作示例
2018/05/12 PHP
php操作mongodb封装类与用法实例
2018/09/01 PHP
jquery ui dialog ie8出现滚动条的解决方法
2010/12/06 Javascript
基于JQuery 的消息提示框效果代码
2011/07/31 Javascript
解决jquery中美元符号命名冲突问题
2014/01/08 Javascript
Nodejs极简入门教程(一):模块机制
2014/10/25 NodeJs
javascript高级编程之函数表达式 递归和闭包函数
2015/11/29 Javascript
JS设置下拉列表框当前所选值的方法
2015/12/22 Javascript
Bootstrap轮播插件中图片变形的终极解决方案 使用jqthumb.js
2016/07/10 Javascript
vue 2.0项目中如何引入element-ui详解
2017/09/06 Javascript
Angular6 发送手机验证码按钮倒计时效果实现方法
2019/01/08 Javascript
Vue插件从封装到发布的完整步骤记录
2019/02/28 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
2020/06/06 jQuery
jquery实现上传图片功能
2020/06/29 jQuery
详解Python中DOM方法的动态性
2015/04/11 Python
python利用正则表达式搜索单词示例代码
2017/09/24 Python
Python字符串格式化%s%d%f详解
2018/02/02 Python
用Python3创建httpServer的简单方法
2018/06/04 Python
python 初始化一个定长的数组实例
2019/12/02 Python
将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例
2020/01/04 Python
python 安装教程之Pycharm安装及配置字体主题,换行,自动更新
2020/03/13 Python
python程序需要编译吗
2020/06/19 Python
纯CSS绘制漂亮的圆形图案效果
2014/05/07 HTML / CSS
专门经营化妆刷的美国彩妆品牌:Sigma Beauty
2017/09/11 全球购物
英国户外装备和冒险服装零售商:alloutdoor
2018/01/30 全球购物
专科毕业生就业推荐信
2013/11/01 职场文书
应届生污水处理求职信
2013/11/06 职场文书
市场营销个人求职信范文
2014/02/02 职场文书
班级口号大全
2014/06/09 职场文书
IT工程师岗位职责
2014/07/04 职场文书
离婚协议书样本
2015/01/26 职场文书
2015年教研员工作总结
2015/05/26 职场文书