我有一个受密码保护的文本文件并使其受密码保护,我使用了密码保护程序脚本(效果很好),但它要求我在我的服务器上将文本文件重命名为.php。这很好,但是,当我在Windows上的任何浏览器中打开此文本文件时,我没有看到任何新行(我曾经看过它们)
我尝试写 - “\ n”,“\ r”,“\ r \ n”。我认为这与浏览器认为它的.php文件有关。
答案 0 :(得分:7)
这是因为服务器正在发送不同的MIME类型。它现在发送text/html
(PHP返回的默认类型)而不是text/plain
。
您的浏览器正在等待HTML。换行符就像HTML中的任何其他空格一样,因此它们对于您要执行的操作基本上没有意义。
您可以使用它来修复它:
header('Content-Type: text/plain');
请务必将其放在代码的顶部,或者至少在输出任何内容之前。
这会导致服务器发送您期望的MIME类型。
答案 1 :(得分:3)
默认情况下,PHP脚本的输出呈现为HTML,这意味着折叠了空格。如果要将其更改回文本,则需要在Web服务器中或通过Content-Type
函数将header()
标题设置为“text / plain”。
答案 2 :(得分:1)
那是因为浏览器会将内容视为html,而在html中,换行符只是一个空格
答案 3 :(得分:1)
我不确定我是否理解你的问题,但在两种情况下有一个解决方案:
- 您输出文字:在这种情况下,您必须使用
<br>
- 您想在文件中使用新行编写它:使用PHP-Constant
PHP_EOL
表示行尾。这将始终插入正确的中断。
答案 4 :(得分:0)
浏览器使用HTML格式化文本(当然包含在html中)
使用<br>
或<p>
同时考虑您的文件是.php
,这是您的网络服务器将其text/html
答案 5 :(得分:0)
您需要使用<br>
,因为html正在浏览器中呈现。