我有一个在服务器上生成的txt文件并包含换行符。如果我在我的ftp编辑器中查看该文件,它们就在这里。如果我通过我的ftp客户端下载并使用记事本打开窗口,我也会看到换行符。
但是当我尝试通过强制下载窗口通过浏览器下载它,然后打开文件时,所有新行都突然消失了。
这是我现在的代码。我还尝试将内容类型设置为application / force-download,但这也没有区别。
header('Content-Type: text/plain');
header('Content-Disposition: attachment; filename="'.$myFile.'"');
header("Content-Transfer-Encoding: binary");
当我通过浏览器下载新行时,有什么想法吗?但是当我在服务器上查看文件或从ftp下载并在记事本中打开时,它是完整的吗?
答案 0 :(得分:2)
Unix行结尾(\ n)与Windows行结尾(\ r \ n)不同。许多FTP程序都可以选择在操作系统之间自动转换行结尾;您的浏览器没有这样做(浏览器不会触及text / plain。)
如果你想要双重确定,你可以使用hexdump文件并查看换行符应该在哪里。
尝试使用wordpad或notepad ++打开文件,它将\ n视为行结尾。记事本是少数仍需要\ r \ n行结尾的工具之一。