本文实例讲述了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程序设计有所帮助。
© 版权声明
THE END
暂无评论内容