layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件进行后台处理操作示例
时间:2019-04-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程序设计有所帮助。
- HTML 教程
- HTML 简介
- html div 标签介绍
- html span 标签介绍
- html a 超链接标签
- HTML Br换行标签介绍
- HTML P段落标签介绍
- HTML br与p标签区别
- Html H 标题标签
- html px em pt长度单位
- HTML form 标签
- HTML radio 单选框
- HTML B 加粗标签
- HTML strong加粗粗体标签
- HTML em 强调标签
- HTML i 斜体标签
- HTML u下划线标签
- HTML s 删除线标签
- Html img 图片标签
- Html上标注sup与下标注sub标签
- HTML nobr 禁止换行标签
- HTML hr 水平线标签
- HTML label 标签
- HTML input 标签
- HTML textarea 标签
- HTML select下拉列表标签
- HTML checkbox 多选框
- HTML font color 标签
- HTML iframe 框架标签
- HTML Table 表格
- HTML dl dt dd 标签
- HTML ol li有序列表标签
- HTML ul li 无序列表标签
- HTML 注释
- CSS 教程
- CSS 简介
- CSS 语法
- CSS Id 和 Class选择器
- CSS 样式的创建
- CSS background 背景介绍
- CSS 文本样式
- CSS font 字体
- CSS A 链接
- CSS ul ol列表样式
- CSS TABLE 样式
- CSS 框模型
- CSS border 边框
- CSS Outlines 轮廓
- CSS 外边距 Margin
- CSS Padding 内边距
- CSS 分组和嵌套选择器
- CSS 尺寸 (Dimension)
- CSS Display 属性
- CSS Position 定位
- CSS Float 浮动
- CSS 水平对齐(Horizontal Align)
- CSS 组合选择符
- CSS 伪类
- CSS 伪元素
- CSS 导航栏
- CSS 下拉菜单
- CSS 图片廊
- CSS 图像透明/不透明
- CSS sprite 图像拼合技术
- CSS 媒体类型
- CSS 属性选择器
- CSS 实例
- oracle中if/else的三种实现方式详解
- iOS中lebel特殊字符的自动换行问题解决
- Java多线程编程安全退出线程方法介绍
- 浅谈vue中使用图片懒加载vue-lazyload插件详细指南
- .NET发送邮件遇到问题及解决方法
- java基于jdbc连接mysql数据库功能实例详解
- MyBatis在insert插入操作时返回主键ID的配置(推荐)
- Android选择图片或视频进行循环播放
- C#集合类用法实例代码详解
- Android中fragment+viewpager实现布局
- 浅谈Koa服务限流方法实践
- 浅谈python中copy和deepcopy中的区别
- nodejs中安装ghost出错的原因及解决方法
- python爬虫之BeautifulSoup 使用select方法详解
- 解决Ajax加载JSon数据中文乱码问题