我使用header()从给定的url下载xlsx文件。该文件已下载但我无法打开它。它显示错误
以下是我的代码
$url = "http://example.com/attachment/file.xlsx"
header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
header('Content-Disposition: attachment; filename=Test.xlsx');
readfile($url);
exit();
答案 0 :(得分:1)
在开始下载之前 - 发送标题,对URL进行is_file()或其他检查,只有在文件存在时才开始下载。
我怀疑你正在尝试使用URL,而不是本地文件,并且URL可能不正确或在服务器上不允许对URL进行fopen。
样品:
$url = "http://example.com/attachment/file.xlsx";
if (!fopen($url,'r')) exit('File/URL not accessible');
else fclose($url);
header('Content-Type: application/octet-stream');
header("Content-Transfer-Encoding: Binary");
header('Content-Disposition: attachment; filename=Test.xlsx');
readfile($url);
exit();