PHP& Wordpress:标题已经发送 - 怎么办?

时间:2010-07-19 22:29:10

标签: php wordpress

我正在使用wordpress模板,其中列出了我的ftp文件。如果我点击一个文件我调用d.php(d =下载),我只是传递文件的路径,我想强制下载

header('Content-Disposition: attachment; filename="'. $file .'"');

这对我不起作用,因为浏览器一直告诉我:

  

警告:无法修改标头信息 - 已经发送的标头(输出从/clientdata/n5200-2-dynamic/a/l/mydomain.net.au/www/wp-content/themes/mytheme/d.php开始:25)在第45行的/clientdata/n5200-2-dynamic/a/l/mydomain.net.au/www/wp-content/themes/mytheme/d.php

知道我能在这做什么吗? d.php甚至不包含任何wordpress特定的东西(get_header()或get_footer()) - 它只是我主题的模板目录中的一个简单的php文件。知道我能在这做什么吗?

谢谢

2 个答案:

答案 0 :(得分:2)

在PHP中使用header()函数时,必须在发送任何输出之前发送它。这意味着它必须在<html>标记之前执行。这意味着将它包含在程序上更早的脚本中。

答案 1 :(得分:0)

我相信WordPress通过index.php路由所有内容,所以从技术上讲,你被包装在WordPress的内容中。

无论如何,有些东西会在您发送之前发送标题。这可能是空格,PHP输出,或实际的标题。

相关问题