加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP强制下载.xlsx文件损坏

发布时间:2020-12-13 17:14:45 所属栏目:PHP教程 来源:网络整理
导读:我正在建立一个网站,允许教师上传文件,学生下载文件.但是,有一个问题. Microsoft Word(.docx)文件下载完美,但下载excel(xlsx)文件时,excel会显示“此文件已损坏且无法打开”对话框.任何有关这方面的帮助将不胜感激! 我的下载代码如下: case 'xlsx': header
我正在建立一个网站,允许教师上传文件,学生下载文件.但是,有一个问题. Microsoft Word(.docx)文件下载完美,但下载excel(xlsx)文件时,excel会显示“此文件已损坏且无法打开”对话框.任何有关这方面的帮助将不胜感激!

我的下载代码如下:

case 'xlsx':

    header('Content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    header('Content-Disposition: attachment; filename="' . $filename . '"');
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Pragma: no-cache');
    readfile('./uploads/resources/courses/' . $filename);

break;

解决方法

这在我的本地xampp设置上运行正常,无论扩展如何,所以从我的角度来看,除非我遗漏了某些内容,否则不需要大小写声明

我用docx,accdb,xlsx,mp3,任何东西进行了测试……

$filename = "equiv1.xlsx";

header('Content-type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . $filename . '"');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Pragma: no-cache');

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读