我在使用PHPExcel远程保存文件时遇到了一个奇怪的问题。
这是我用于浏览器下载的代码:
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="filename.xls"');
header('Cache-Control: max-age=0');
$objWriter->save('php://output');
不幸的是,我以这种方式下载的每个文件都无法被LibreOffice和Microsoft Office打开。
但是,如果我用这一行替换所有这些行:
$objWriter->save(str_replace('.php', '.xls', __FILE__));
该文件可以打开,所有数据/格式都是完美的。唯一的问题是它将它保存在服务器上,就在生成它的控制器旁边。
什么可能导致这种情况以及如何解决?