本文实例讲述了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<[email protected]>
*/
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程序设计有所帮助。


您可能感兴趣的文章:ThinkPHP文件上传实例教程ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法Thinkphp多文件上传实现方法thinkPHP3.2简单实现文件上传的方法封装ThinkPHP的一个文件上传方法实例ThinkPHP实现带验证码的文件上传功能实例Thinkphp3.2简单解决多文件上传只上传一张的问题使用ThinkPHP+Uploadify实现图片上传功能解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法基于ThinkPHP+uploadify+upload+PHPExcel 无刷新导入数据Thinkphp+smarty+uploadify实现无刷新上传Thinkphp5+uploadify实现的文件上传功能示例

本文开发(php)相关术语:php代码审计工具 php开发工程师 移动开发者大会 移动互联网开发 web开发工程师 软件开发流程 软件开发工程师

主题: PHP浏览器Ajax数据UBExcel数据库Head
tags: gt,upload,lt,msg,上传,layui,div,id,ThinkPHP,file,文件,class,directory,res,dir
分页:12
转载请注明
本文标题:layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件进行后台处理操作示例
本站链接:http://www.codesec.net/view/576875.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 开发(php) | 评论(0) | 阅读(212)