李奕迅 2015-12-26 06:17 采纳率: 100%
浏览 2063

ThinkPHP框架使用upload上传文件后如何下载?

如题
public function upload(){
$upload = new \Think\Upload();// 实例化上传类
$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('上传成功!');
}
}

  • 写回答

2条回答 默认 最新

  • 李奕迅 2015-12-27 08:20
    关注
     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);
            }
        }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同