【问题标题】:Download php file via echo does not work通过 echo 下载 php 文件不起作用
【发布时间】:2014-05-26 20:01:59
【问题描述】:

我正在尝试在 php.ini 中简单地下载文件。实际上它是一个 .csv 文件,但似乎我什至无法下载常规文本文件。我找到了以下代码...

$mytext = "some text";
header("Content-type: text/plain");
header("Content-Disposition: attachment; filename='whatever.txt'");
echo $mytext;

...但是当我将它添加到我的 php 文件时,没有初始化下载,但 $mytext 的文本(即“某些文本”)只是简单地显示在我的 HTML 文本中。我在 wordpress 中运行整个事情,如果这可能很重要的话。有什么想法吗?

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

【问题讨论】:

  • 缺少更多标题。

标签: php wordpress file download


【解决方案1】:

试试这个:

$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 上对其进行了测试。文件强制下载,不显示。您的浏览器可能是问题所在。您是否在不同的浏览器/PC 上尝试过?
  • 是的,您的代码实际上正在运行,不,它不是浏览器 - 我想通了,它与 wordpress 有关。调用下载功能时,我无法设置任何标题,因为所有标题都已由 wordpress 设置。我正在寻找一种解决方法,但整个问题似乎相当复杂,因为我是这个领域的新手。
猜你喜欢
  • 1970-01-01
  • 2012-09-22
  • 1970-01-01
  • 2012-11-26
  • 2015-08-07
  • 1970-01-01
  • 1970-01-01
  • 2013-01-05
  • 2014-08-10
相关资源
最近更新 更多