这篇文章主要介绍了layui框架实现文件上传及tp3.2.3对上传文件进行后台处理操作,结合实例形式分析了layui框架结合thinkphp进行文件上传与处理操作相关实现技巧,需要的朋友可以参考下
本文实例讲述了layui框架实现文件上传及TP3.2.3对上传文件进行后台处理操作。分享给大家供大家参考,具体如下:
layui框架是1.0.9版本。。
首先html页面代码如下:
@@##@@
js代码如下:
接下来的php后台接值的方法:
技术上面应用了三层结构,AJAX框架,URL重写等基础的开发。并用了动软的代码生成器及数据访问类,加进了一些自己用到的小功能,算是整理了一些自己的操作类。系统设计上面说不出用什么模式,大体设计是后台分两级分类,设置好一级之后,再设置二级并选择栏目类型,如内容,列表,上传文件,新窗口等。这样就可以生成无限多个二级分类,也就是网站栏目。对于扩展性来说,如果有新的需求可以直接加一个栏目类型并新加功能操作
#上传文件方法
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
*/
public function directory($dir){
return is_dir ( $dir ) or directory(dirname( $dir )) and mkdir ( $dir , 0777);
}
您可能感兴趣的文章:
原生JS实现Ajax通过POST方式与PHP进行交互的方法示例php技巧









