OTA*_*TAR 4 php header file xlsx
我需要xlsx从我的网站下载make文件(但不是像这样直接打开文件 url: http://site.com/file.xlsx)
所以,这是php代码
$file = "somefile.xlsx";
header('Content-Description: File Transfer');
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
Run Code Online (Sandbox Code Playgroud)
文件已下载,他的扩展名是.xlsx,但是当尝试在 ms excel 中打开此文件时,文件未打开并且出现错误:excel cannot open the file.xlsx because the file format or file extension is not valid
请告诉,为什么会这样?我错在哪里?
多年后,我遇到了同样的问题,经过搜索,我再次来到这里 ))
这是解决方案,对我有用:
$file = "somefile.xlsx";
// define file $mime type here
ob_end_clean(); // this is solution
header('Content-Description: File Transfer');
header('Content-Type: ' . $mime);
header("Content-Transfer-Encoding: Binary");
header("Content-disposition: attachment; filename=\"" . basename($file) . "\"");
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
readfile($file);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22498 次 |
| 最近记录: |