PHP强制下载.xlsx文件损坏

cbe*_*eld 6 php header download readfile

我正在开发一个允许教师上传文件和学生下载文件的网站。但是,有一个问题。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;
Run Code Online (Sandbox Code Playgroud)

Gab*_*Cas 0

尝试这个:

header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Type: application/vnd.ms-excel");
Run Code Online (Sandbox Code Playgroud)