// 文件下载public static function downFile($id,$admin_id,$cid,$type){$company = checkAdminCompany($admin_id,$cid);if (!$company) {return ['status' => -4,'statusMsg' => '公司不存在'];}if ($type=='file') {// 判断是否有权限下载文件$checkFileRole = self::checkFileRole($admin_id,$cid,$id);if (!$checkFileRole) {return ['status' => 777,'statusMsg' => '没有操作权限'];}$select_sql = "SELECT * FROM cloud_storage WHERE id in ($id)";send_execute_sql($select_sql,$fileInfo);} elseif ($type == 'list') {// 判断是否有权限移动目录下的文件$checkRole = self::checkRole($admin_id,$cid,$id);if (!$checkRole) {return ['status' => '777','statusMsg' => '没有操作权限'];}$select_sql = "SELECT * FROM cloud_storage WHERE list_id = $id";send_execute_sql($select_sql,$fileInfo);}if (empty($fileInfo)) {return ['status' => -400,'statusMsg' => '文件不存在'];}foreach ($fileInfo as $key => $value) {$paths[$key] = $fileInfo[$key]['path'];}//这里需要注意该目录是否存在,并且有创建的权限$filename = 'logs/down/test.zip'; if(!file_exists($filename)){$zip = new ZipArchive();if ($zip->open($filename, ZipArchive::CREATE)==TRUE) {foreach( $paths as $val){if(file_exists($val)){$zip->addFile( $val, basename($val));}}$zip->close();}}if(!file_exists($filename)){exit("无法找到文件");}header("Cache-Control: public");header("Content-Description: File Transfer");header('Content-disposition: attachment; filename='.basename($filename)); //文件名header("Content-Type: application/zip"); //zip格式的header("Content-Transfer-Encoding: binary"); //告诉浏览器,这是二进制文件header('Content-Length: '. filesize($filename)); //告诉浏览器,文件大小ob_clean();flush();@readfile($filename);unlink($fileurl);exit;}

其实大多数的错误都是在缺少

ob_clean();
flush();

PHP实现文件下载功能,提示压缩包损坏及打不开的解决方法相关推荐

  1. VMware虚拟机提示“锁定文件失败 打不开磁盘”解决方法

    有用户在打开VMware虚拟机时提示"锁定文件失败 打不开磁盘或它所依赖的某个快照磁盘.模块启动失败.未能启动虚拟机."遇到这个问题该怎么办呢?出现这个问题是由于虚拟机磁盘保护机制 ...

  2. 计算机蓝屏代码0xc0000020,Win10运行程序提示“损坏的映像 错误0xc0000020”解决方法图文教程...

    最近win10用户在运行程序的时候出现损坏的映像提示框,这是因为用户的电脑中dll没有注册,有的软件注册了但是缺少部分的文件导致的,那么win10系统运行程序提示损坏的映像怎么办?针对该问题,下面小编 ...

  3. 计算机开启时提示键盘错误,电脑开机出现异常提示keyboard not found的故障原因及解决方法_电脑故障...

    电脑开机后屏幕显示keyboard not found. press f2 to continue .f1 to setup,具体问题现象如下所示: 故障原因分析: 出现这样的情况大多都是电脑在开机的 ...

  4. U盘文件或目录损坏且无法读取的修复/解决方法

    U盘文件或目录损坏且无法读取的修复/解决方法 1. 当手机SD卡或U盘插入电脑中时,如果提示"文件或目录损坏且无法读取"信息时,我们首先需要对手机SD卡或U盘进行目录修复操作.插入 ...

  5. 我的手提电脑为什么提示“位置不可用”? 求大神解决方法

    问题描述: 机械硬盘打不开位置不可用,是因为这个I盘的文件系统内部结构损坏导致的.我的手提电脑为什么提示"位置不可用"? 求大神解决方法具体的恢复方法看正文 工具/软件:极限数据恢 ...

  6. 计算机会显示错误的是,电脑提示蓝屏错误WHEA UNCORRECTABLE ERROR的解决方法

    我们知道,在电脑遇到一些问题故障时,通常会蓝屏显示,并且有一定的错误提示.有用户发现电脑提示蓝屏错误WHEA UNCORRECTABLE ERROR,那么应该如何解决这个问题?新版的蓝屏提示信息很少, ...

  7. android系统应用网络不可用,华为mate30pro 5G版应用提示当前网络不可用的原因及解决方法...

    华为mate30pro 5G版应用提示无网络连接什么原因?有网友反应,自己的华为mate30pro 5G版手机打开某些app后会提示"无网络连接"或者"当前网络不可用&q ...

  8. CentOS使用sudo提示用户不在sudoers文件中的解决方法

    CentOS使用sudo提示用户不在sudoers文件中的解决方法 参考文章: (1)CentOS使用sudo提示用户不在sudoers文件中的解决方法 (2)https://www.cnblogs. ...

  9. Anaconda安装Python,提示Python不是内部或外部命令解决方法

    Anaconda安装Python,提示Python不是内部或外部命令解决方法 参考文章: (1)Anaconda安装Python,提示Python不是内部或外部命令解决方法 (2)https://ww ...

  10. 【转】nginx提示:500 Internal Server Error错误的解决方法

    [转]nginx提示:500 Internal Server Error错误的解决方法 参考文章: (1)[转]nginx提示:500 Internal Server Error错误的解决方法 (2) ...

最新文章

  1. Cloudify — OpenStack Infrastructure Plugin V3
  2. SharePoint 2013 商城
  3. 2020年港澳台电视直播软件_中山大学2020年港澳台侨联考各专业录取分数线
  4. C# 去除所有的html标签
  5. 从潘叔到潘子,潘长江走下「神坛」
  6. kl变换与小波变换区别与联系_小波变换比傅里叶变换好在哪里_小波变换与傅里叶变换详解...
  7. yii的pathinfo方式实现
  8. 各种强大的资源搜索引擎及搜索各大网盘资源的方法
  9. 联想笔记本怎么进入pe系统_lenovo怎么进入pe系统
  10. 兆骑科创创新创业赛事活动承办,科创企业,企业孵化器
  11. SDRAM 控制器(六)——仲裁模块
  12. matlab图像取反_MATLAB图像处理例子
  13. 百度指数 php,百度指数是什么?百度指数有什么用?百度指数怎么用?
  14. 算法设计与分析: 3-4 多重幂计数问题
  15. 手机丢了微信聊天记录怎么恢复?别担心,教你一招找回
  16. SEO怎么做?SEO的具体流程是什么?
  17. Python+scrapy+mysql实现爬取磁力链接
  18. python大众点评霸王餐_python抓取大众点评商户信息
  19. linux查询当前目录剩余空间,如何在linux下查看目录的剩余空间大小
  20. 期货近远月价差的含义(期货远月比近月价格高)

热门文章

  1. 去不去 Google ?Ex-Googler 讲述他的职业选择
  2. 【建议收藏】1000套HTML静态网页设计期末大作业 (HTML+CSS+JS)
  3. 关于Negative values in data passed to MultinomialNB (input X)报错问题
  4. 顶部标题栏的布局设计
  5. 【Python】reset_index函数
  6. SMETA验厂咨询,Sedex验厂工厂的自检流程有哪些
  7. 计算出当天零分零点对应时间戳的方法分享
  8. 防火墙多选路出口(ISP选路、策略路由、智能选路)
  9. Java 大文件分片上传
  10. 光功率 博科交换机_交换机是否支持查看光模块型号及收发光功率