浏览器不会读取php文件中的新行

浏览器不会读取php文件中的新行,php,browser,Php,Browser,我有一个受密码保护的文本文件,为了使其受密码保护,我使用了一个密码保护器脚本,它工作得很好,但需要我在服务器上将文本文件重命名为.php。这很好,但是,当我在windows上的任何浏览器中打开此文本文件时,我没有看到任何以前看到的新行 我试着写-\n\r\n。我想这与浏览器认为它是一个.php文件有关 当然,浏览器使用HTML格式化HTML中包含的文本 使用或 另外,考虑到您的文件是一个.php文件,您的Web服务器将以text/html的形式发送它是一种正常行为。默认情况下,php脚本的输出呈

我有一个受密码保护的文本文件,为了使其受密码保护,我使用了一个密码保护器脚本,它工作得很好,但需要我在服务器上将文本文件重命名为.php。这很好,但是,当我在windows上的任何浏览器中打开此文本文件时,我没有看到任何以前看到的新行


我试着写-\n\r\n。我想这与浏览器认为它是一个.php文件有关

当然,浏览器使用HTML格式化HTML中包含的文本

使用或
另外,考虑到您的文件是一个.php文件,您的Web服务器将以text/html的形式发送它是一种正常行为。默认情况下,php脚本的输出呈现为html,这意味着空格被折叠。如果要将其更改回文本,则需要在web服务器中或通过标题功能将内容类型标题设置为text/plain。

您需要使用,因为html正在浏览器中呈现。

这是因为服务器正在发送不同的MIME类型。它现在发送的是PHP返回的默认类型text/html,而不是text/plain

您的浏览器需要HTML。换行符就像HTML中的任何其他空白一样,因此它们对于您尝试执行的操作基本上没有意义

您可以使用此选项进行修复:

标题“内容类型:文本/普通”

请确保将其放在代码的顶部,或者至少在输出任何内容之前


这会导致服务器发送您期望的MIME类型。

这是因为浏览器会将内容视为html,而在html中,换行符只是一个空白

我不确定是否正确理解了您的问题,但在两种情况下有一种解决方案:

-输出文本:在这种情况下,必须使用

<br>

这意味着线的尽头。这总是插入一个正确的中断。

用文本编辑器打开文件时如何?非常感谢大家,使用修复了它。我需要在服务器上将文本文件重命名为.php。非常可疑。不,他们没有。浏览器使用HTML来格式化HTML。浏览器使用文本来格式化文本,但您必须告诉浏览器它是文本。@托马拉克:如果您继续-1从我的个人资料中捕捉到的每个我的答案,我将在接下来的几天向您报告。您也可以看到,我的答案实际上已经回答了OPI。我没有做过这样的事情。当我看到一个我认为不正确的答案时,我只是-1。如果我对你以前的答案有-1的看法,那是因为我不同意你以前的答案。我对你或其他任何人都没有个人恩怨。我没有时间。请看我对魔术师答案的评论。
PHP_EOL