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

问题描述

| 我有一个受密码保护的文本文件,并且为了使其具有密码保护,我使用了一个密码保护脚本(效果很好),但是它要求我在服务器上将文本文件重命名为.PHP。这样做很好,但是,当我在Windows上的任何浏览器中打开此文本文件时,我看不到任何新行(我以前看过它们) 我尝试编写-\“ \\ n \”,\“ \\ r \”,\“ \\ r \\ n \”。我认为这与浏览器有关,我认为它是一个.PHP文件。     

解决方法

        这是因为服务器正在发送其他MIME类型。现在它正在发送
text/html
(PHP返回的默认类型),而不是
text/plain
。 然后,您的浏览器需要HTML。换行符与HTML中的任何其他空格一样,因此对于您要执行的操作而言,换行符基本上没有任何意义。 您可以使用它来修复它:
header(\'Content-Type: text/plain\');
确保将其放在代码的顶部,或者至少在输出任何内容之前。 这将导致服务器发送您期望的MIME类型。     ,        默认情况下,PHP脚本的输出呈现为HTML,这意味着空格被折叠了。如果要将其更改回文本,则需要在Web服务器中或通过
header()
函数将
Content-Type
标头设置为\“ text / plain \”。     ,        那是因为浏览器会将内容视为html,而在html中换行符只是空白     ,        我不确定是否能正确理解您的问题,但是有两种情况可以解决: -您输出文本:在这种情况下,您必须使用
<br>
-您要在文件中用新行编写它:使用PHP-Constant
PHP_EOL
这表示行尾。这总是插入正确的中断。     ,        您需要使用
<br>
,因为html正在浏览器中呈现。     ,        浏览器使用HTML设置文本格式(当然包含在html中) 用
<br>
<p>
另外还要考虑您的文件是“ 10”,这是您的网络服务器将其发送为“ 0”的正常行为