gpt4 book ai didi

php - 使用 php 下载 xlsx 文件

转载 作者:可可西里 更新时间:2023-11-01 01:03:46 26 4
gpt4 key购买 nike

我需要从我的站点下载 xlsx 文件(但不是从这样的直接打开文件 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);

文件已下载,他的扩展名是 .xlsx,但是当尝试在 ms excel 中打开此文件时,文件未打开并且出现错误:excel 无法打开 file.xlsx,因为文件格式或文件扩展名无效

请告诉我,为什么会这样?我哪里错了?

最佳答案

多年后,我遇到了同样的问题,经过搜索,我又回到了这里))

这是对我有用的解决方案:

$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);

关于php - 使用 php 下载 xlsx 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16250405/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com