我有一个excel文件,我希望用户能够从我的服务器下载.我在这里看了很多问题,但我找不到正确下载没有腐败的文件的方法.我假设它是标题但我还没有它们的工作组合.这就是我现在所拥有的,在我收到的损坏文件中,我可以看到我想要的电子表格的列名,但它全部搞砸了.
$filename = '/var/www/web1/web/public/temporary/Spreadsheet.xls'; header("Content-type: application/octet-stream"); header("Content-type: application/vnd-ms-excel"); header("Content-disposition: attachment; filename=ExcelFile.xls;"); header("Pragma: no-cache"); header("Expires: 0"); readfile($filename);
编辑:解决方案我忘了添加我正在使用Zend,它在尝试使用本机PHP方法时破坏了文件.我的finsihed代码是在我的控制器中放置一个链接到另一个动作,并从那里下载文件
public function downloadAction(){ $file = '/var/www/web1/web/public/temporary/Spreadsheet.xls'; header('Content-Type: application/vnd.ms-excel'); header('Content-disposition: attachment; filename="Spreadsheet.xls"'); readfile($file); // disable the view ... and perhaps the layout $this->view->layout()->disableLayout(); $this->_helper->vieWrenderer->setnorender(true); }
解决方法
试着这样做
ob_get_clean(); echo file_get_contents($filename); ob_end_flush();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。