【发布时间】:2014-03-07 06:22:14
【问题描述】:
我希望这是一个简单快速的解决方法。我已经看过这里以了解如何强制从服务器下载文件。这是我在下面使用的:
<?php
// Sending the file - a pdf in this case
header('Content-type: application/octet-stream');
// Specify what the file will be called
header('Content-Disposition: attachment; filename="1234.txt"');
// And specify where it is coming from
readfile('C:\test\1234.txt');
?>
这应该很容易解释,但我有一个文本文件保存在 C:\test\1234.txt。
我使用 HTML 页面中的这个链接到我的名为 download.php 的 php 文件(具有上述代码):
<a href="/download.php" title="Download This PDF">Download This File!</a>
好的,现在问题..我的原始文本文件是这样的:
test
但是当我下载文件时,结果是上面的回车:
_
test
文本文件的问题并不大,但由于这个问题,下载的所有其他文件都已损坏,我相信这就是原因。我希望有人对此有一个非常简单的解决方案。
提前致谢!
【问题讨论】:
-
一个
.txt文件和一个.exe和PDFtitle="Download This PDF";我很困惑。 -
问题很可能是,您正在加载一个 .exe 文件作为要下载的文件,告诉浏览器它是一个文本文件,然后从那里开始。 PS:刚注意到更新。那么您是否使用 exe 文件而不是文本来执行此操作?
-
抱歉,伙计们,这是一个打字错误。我现在更新了。在这两种情况下实际上都是 .txt
-
您是否考虑过只将文件名传递给 file_get_contents 而不是使用使用输出流的 readfile?除了允许下载文本文件之外,您还打算这样做吗?
-
实际 PDF 文件的构造机制是什么?您显示的代码中的所有内容仅引用
txt文件。