通过echo下载php文件无效

通过echo下载php文件无效,php,wordpress,file,download,Php,Wordpress,File,Download,我正在尝试用php做一个简单的文件下载。实际上它是一个.csv文件,但似乎我甚至不能下载一个普通的文本文件。我找到了以下代码 $mytext = "some text"; header("Content-type: text/plain"); header("Content-Disposition: attachment; filename='whatever.txt'"); echo $mytext; …但当我将其添加到我的php文件时,没有初始化下载,但是$mytext的文本(即某些文本)

我正在尝试用php做一个简单的文件下载。实际上它是一个.csv文件,但似乎我甚至不能下载一个普通的文本文件。我找到了以下代码

$mytext = "some text";
header("Content-type: text/plain");
header("Content-Disposition: attachment; filename='whatever.txt'");
echo $mytext;
…但当我将其添加到我的php文件时,没有初始化下载,但是$mytext的文本(即某些文本)只是简单地显示在我的HTML文本中。如果这可能很重要的话,我正在wordpress上运行整个程序。有什么想法吗

编辑:我尝试了来自的解决方案,但这对我来说根本不起作用。我想,标题有问题。由于我在wordpress环境中使用php脚本,我认为我设置的标题被忽略了——这就是为什么文件被解释为文本而不是可下载文件的原因。 有没有办法忽略wordpress标题或以某种方式强制自定义标题

试试这个:

$mytext = "some text";
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="whatever.txt"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . strlen($mytext));
echo $mytext;

少了几个标题。谢谢回复。我试过你的代码,但结果完全一样。字符串some text显示在网站上,在调用php函数的位置。我在FireFox、Chrome和Internet Explorer上测试了它。文件强制下载,不显示。您的浏览器可能是问题所在。你在不同的浏览器/电脑上试过了吗?是的,你的代码实际上在工作,不,它不是浏览器-我发现,它与wordpress有关。调用下载函数时,我无法设置任何标题,因为所有标题都已由wordpress设置。我正在寻找一个解决办法,但整个问题似乎是相当复杂的,因为我是这方面的新手。