【发布时间】:2013-04-28 16:04:26
【问题描述】:
我编写了一个 PHP 脚本来创建一个 .txt 制表符分隔文件。我需要将此强制下载到网络浏览器。它完成了所有这些,但是当我将文件与强制下载的源进行比较时,它包含两个额外的空白行。代码如下:
// Force download of the tab del .txt file to the web browser:
header('Content-Type: application/download');
header("Content-Disposition: attachment; filename=$tab_del_file");
header("Content-Length: " . filesize($tab_del_file));
$fp = fopen($tab_del_file, "r");
fpassthru($fp);
fclose($fp);
Linux Shell 命令比较两个文件并显示有多余的空行: $ diff example.txt /tmp/example.txt 25a26,27
我将下载的 example.txt sftp'ed 到 /tmp 目录,这样我就可以在服务器上进行比较。为什么在下载的版本中添加了两个空白行,修复方法是什么?谢谢!
【问题讨论】:
-
您的 php 文件中有关闭
?>标记吗? -
我不是 PHP 专家,但我认为
$ diff example.txt tmp/example.txt 25a26,27 > >语法错误 -
@Edward 检查我的答案 ;)
-
@hek2mgl。谢谢!我以为你在问,因为如果我没有 ?> 它可能会导致问题。但我现在明白了,这是造成这个问题的真正原因。
-
@AlexRuhl 那不是 PHP。这就是
diff命令。 OP 用它来证明输出中有两个额外的新行。