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 相关文章推荐
如何使用脚本模仿登陆过程
Nov 22 PHP
PHP对象转换为数组函数(递归方法)
Feb 04 PHP
关于UEditor编辑器远程图片上传失败的解决办法
Aug 31 PHP
CURL的学习和应用(附多线程实现)
Jun 03 PHP
ThinkPHP模版中导入CSS和JS文件的方法
Nov 29 PHP
php编写批量生成不重复的卡号密码代码
May 14 PHP
深入理解PHP中的Streams工具
Jul 03 PHP
weiphp微信公众平台授权设置
Jan 04 PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
Feb 15 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
Sep 26 PHP
PHP 访问数据库配置通用方法(json)
May 20 PHP
如何用PHP实现分布算法之一致性哈希算法
May 26 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 google或baidu分页代码
2009/11/26 PHP
PHP获取Exif缩略图的方法
2015/07/13 PHP
php解决和避免form表单重复提交的几种方法
2016/08/31 PHP
浅谈PHP面向对象之访问者模式+组合模式
2017/05/22 PHP
浅谈php使用curl模拟多线程发送请求
2019/03/08 PHP
input的focus方法使用
2010/03/13 Javascript
js实现带圆角的两级导航菜单效果代码
2015/08/24 Javascript
jquery实现浮动在网页右下角的彩票开奖公告窗口代码
2015/09/04 Javascript
jquery if条件语句的写法
2016/05/19 Javascript
javascript获取select标签选中的值
2016/06/04 Javascript
Bootstrap树形菜单插件TreeView.js使用方法详解
2016/11/01 Javascript
nodejs中安装ghost出错的原因及解决方法
2017/10/23 NodeJs
vue 文件目录结构详解
2017/11/24 Javascript
ajax前台后台跨域请求处理方式
2018/02/08 Javascript
详解AngularJS 过滤器的使用
2018/06/02 Javascript
jQuery使用动画队列自定义动画操作示例
2018/06/16 jQuery
JavaScript ES6箭头函数使用指南
2018/12/30 Javascript
layer提示框添加多个按钮选择的实例
2019/09/12 Javascript
python获取文件路径、文件名、后缀名的实例
2018/04/23 Python
使用pandas的DataFrame的plot方法绘制图像的实例
2018/05/24 Python
pytorch中tensor的合并与截取方法
2018/07/26 Python
python图像处理入门(一)
2019/04/04 Python
Python实现通过解析域名获取ip地址的方法分析
2019/05/17 Python
Python 类,property属性(简化属性的操作),@property,property()用法示例
2019/10/12 Python
KIKO MILANO荷兰网上商店:意大利专业化妆品品牌
2017/05/12 全球购物
大专自我鉴定范文
2013/10/23 职场文书
幼儿园毕业园长感言
2014/02/24 职场文书
《桃林那间小木屋》教学反思
2014/05/01 职场文书
2014年会策划方案
2014/05/11 职场文书
模具专业求职信
2014/06/26 职场文书
2015年乡镇扶贫工作总结
2015/04/08 职场文书
2015年度内部审计工作总结
2015/05/20 职场文书
校运会广播稿
2015/08/19 职场文书
2017元旦、春节期间廉洁自律承诺书
2016/03/25 职场文书
MySQL注入基础练习
2021/05/30 MySQL
MySQL脏读,幻读和不可重复读
2022/05/11 MySQL