0

像那里的许多其他人一样,我在尝试下载 PHPExcel 输出的 Excel 文件时遇到了很多问题。在我的情况下发生的事情是每当我想使用下载文件时

$obj->save('php://output')

我总是习惯在我的 excel 文件中得到乱码文本,并警告说我的文件已损坏。最终我解决了这个问题。问题是我有一个

require('dbcon.php')

在我的 php 脚本的顶部。我只是用里面的任何东西替换了dbcon.php它,它再次正常工作。虽然问题解决了,但我真的很想知道是什么导致了问题。如果有人可以帮助我解决这个问题,那就太好了。

谢谢。

4

2 回答 2

2

如果您遇到该错误 - 您应该遵循我们在这种情况下始终给出的建议:您使用文本编辑器在生成的文件中查找前导或尾随空格或纯文本错误消息 - 然后在您自己的脚本中查找任何可能生成诸如 echo 语句、外部空行?> <?php等。

对此进行测试的另一种方法是保存到文件系统而不是 php://output 并查看是否遇到相同的问题:如果可行,则问题始终是您自己的脚本发送到 php://output也是。

显然,您在 dbcon.php 文件中遇到了这些问题。这可以像关闭?>文件后的尾随换行一样简单......

于 2013-07-25T08:58:51.017 回答
0

坦迈。

在像您这样的情况下,输出中断可能有几个原因:

  • 在文件 dbcon.php 中可以是打开或结束 php 标记之前的空格,以便产生一些要输出的字符并且可以使文件损坏(这是在 php 5.3+ 中仅使用开始标记的原因);
  • 可能需要找不到文件 dbcon.php,因此您在 otput 中收到错误消息;
  • dbcon.php 中的任何其他错误、通知或警告,因为当前文件中存在全局变量。
于 2013-07-26T09:56:03.747 回答