文件的上传和下载的应用很广泛,在开发时经常使用,下面分别说一下
上传
上传文件时HTML代码
<form method="post" class="form-horizontal" action="" enctype="multipart/form-data">
一定要在这一行加上 enctype="multipart/form-data"
然后后台的功能代码
public function add(){
$paper_student=D('paper_student');
if(IS_POST){
$data['id']=I('id');
$data['name']=I('name');
if($_FILES['ppt1']['tmp_name']!=''){
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg','doc','pptx');// 设置附件上传类型
$upload->savePath = './Public/Uploads/'; // 设置附件上传目录
$upload->rootPath = './'; // 设置附件上传目录
$info = $upload->uploadOne($_FILES['ppt1']);
if(!$info){
$this->error($upload->getError());
}else{
$data['ppt1']=$info['savepath'].$info['savename'];
}
}
if($paper_student->create($data)){
$save=$paper_student->save();
if($save !== false){
$this->success('上传成功!',U('index'));
}else{
$this->error('上传失败!');
}
}else{
$this->error($paper_student->getError());
}
return;
}
$paper_student=$paper_student->find(I('id'));
$this->assign('paper_student',$paper_student);
$this->display();
}
下载
我直接用的超链接下载,简单而且上传的时候什么名字下载的时候就是什么名字
<td><div class="button-group"> <a class="button border-main" href="__ROOT__/{$vo.ppt1}"> 下载</a>
这里的href等于的是文件上传到的绝对路径
希望对大家有所帮助,我的能力还比较弱,有好的方法希望大家多提宝贵意见