layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件进行后台处理操作示例
本文实例讲述了layui框架实现文件上传及TP3.2.3对上传文件进行后台处理操作。分享给大家供大家参考,具体如下:
layui框架是1.0.9版本。。
首先html页面代码如下:
本文实例讲述了layui框架实现文件上传及TP3.2.3对上传文件进行后台处理操作。分享给大家供大家参考,具体如下:
layui框架是1.0.9版本。。
首先html页面代码如下:
js代码如下:
layui.use('upload',function(){ varupload=layui.upload; varurl="__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); }elseif(msg.msg=="error"){ layer.closeAll('loading'); layer.msg(msg.code); } }, error:function(data){ layer.msg("上传失败"); console.log(data); } }); });
接下来的php后台接值的方法:
#上传文件方法
publicfunctionupload(){
$res=array(
'code'=>1,
'msg'=>'nosorry',
'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'];
}
echojson_encode($res);die;
}
/**
*递归创建文件
*@authorerwa
*/
publicfunctiondirectory($dir){
returnis_dir($dir)ordirectory(dirname($dir))andmkdir($dir,0777);
}
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《ZendFrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。