问题描述
- ThinkPHP框架使用upload上传文件后如何下载?
-
如题
public function upload(){
$upload = new ThinkUpload();// 实例化上传类
$upload->maxSize = 0 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
$upload->rootPath = './Uploads/'; // 设置附件上传根目录
$upload->savePath = ''; // 设置附件上传(子)目录
// 上传文件
$info = $upload->upload();
$upload->saveName = 'time';
if(!$info) {// 上传错误提示错误信息
$this->error($upload->getError());
}else{// 上传成功
$this->success('上传成功!');
}
}
解决方案
解决方案二:
public function download(){
$uploadpath='./ueditor/php/upload/image/';//设置文件上传路径
$id=$_GET['id'];//GET方式传到此方法中的参数id,即文件在数据库里的保存id.根据之查找文件信息。
if($id==''){//如果id为空
$this->error('下载失败!','',1);
}
$file=M('File');
$result= $file->find($id);//根据id查询到文件信息
if($result==false) //如果查询不到文件信息
{
$this->error('下载失败!', '', 1);
}else{
$savename=$file->savename;//文件保存名
$showname=$file->savename;//文件原名
$filename=$uploadpath.$savename;//完整文件名(路径加名字)
import('ORG.Net.Http');
Http::download($filename,$showname);
}
}
解决方案三:
上传
public function upload(){
$upload = new ThinkUpload();// 实例化上传类
$upload->maxSize = 0 ;// 附件上传大小
$upload->exts = array('jpg','gif','png','jpeg');// 附件上传类型
$upload->rootPath = './ueditor/php/upload/image/'; // 附件上传根目录
$upload->savePath = ''; // 附件上传(子)目录
$file=M('File');
$savename=I('post.name');
$file->add($savename);
$info=$upload->upload();
$upload->saveName=$savename;
if(!$info){
$this->error($upload->getError());
}else{
$this->success('上传成功!');
}
}
时间: 2024-10-27 02:55:17