在PHP中输出带换行符的文本文件

在PHP中输出带换行符的文本文件,php,html,text-processing,Php,Html,Text Processing,我试图打开一个文本文件,并用下面的代码输出它的内容。文本文件包含换行符,但当我回显文件时,它是未格式化的。我该如何解决这个问题 谢谢 <html> <head> </head> <body> $fh = fopen("filename.txt", 'r'); $pageText = fread($fh, 25000); echo $pageText; </body> &l

我试图打开一个文本文件,并用下面的代码输出它的内容。文本文件包含换行符,但当我回显文件时,它是未格式化的。我该如何解决这个问题

谢谢

<html>

<head>

</head>

<body>

        $fh = fopen("filename.txt", 'r');

        $pageText = fread($fh, 25000);

        echo $pageText;


</body>

</html>

$fh=fopen(“filename.txt”,“r”);
$pageText=fread($fh,25000);
echo$pageText;

在回显之前,确保包括

header('Content-Type: text/plain');

您是输出到HTML还是纯文本?如果是HTML,请尝试在每行末尾添加一个

。e、 g

while (!feof($handle)) {
  $buffer = fgets($handle, 4096); // Read a line.
  echo "$buffer<br/>";
} 
while(!feof($handle)){
$buffer=fgets($handle,4096);//读取一行。
回显“$buffer
”; }
要将纯文本换行符转换为html换行符,请尝试以下操作:

    $fh = fopen("filename.txt", 'r');

    $pageText = fread($fh, 25000);

    echo nl2br($pageText);

注意nl2br函数包装文本。

您需要将PHP代码包装成
,并将其另存为
.PHP
.php5
(取决于您的apache设置)。

对于这样的简单阅读,我会这样做:

$fileContent = file_get_contents("filename.txt");

echo str_replace("\n","&lt;br&gt;",$fileContent);
这将负责回车和输出文本。除非我正在写入文件,否则我不会使用fopen和相关函数

希望这有帮助。

一行代码:

 echo nl2br( file_get_contents('file.txt') );

如果您只想在HTML代码中显示文件的输出,其格式与在文本文件中的格式相同,则可以使用一对预标记包装echo语句:

echo "<pre>" . $pageText . "</pre>;
echo”“$页面文本。";

其他一些答案看起来很有希望,这取决于您正在尝试做什么。

在MacOSX 10.6.6和Camino的Apache2和PHP5.3.3上读取.txt文件时尝试换行;echo nl2br($text);在我先打印文件大小之前也无法正常工作。 顺便说一句,如果.txt文件有Linux/MacOSX LF或Windows CRLF换行符,或者文本编码是UTF-8或Windows Latin1,那么这似乎并不重要,Camino可以将其输出

<body>
        <div>Some multi-line message below:</div> 
        <div><?= nl2br(file_get_contents('message.txt.asc')); ?></div>
</body>

假设您有一个由web服务器托管的
index.php
文件。您希望在其中插入一些多行文本文件内容。这就是您的操作方式:


下面是一些多行消息:

这个
部分只是一个简写,它指示web服务器需要将其作为PHP
echo
参数处理。

不使用
fpassthru()的任何原因
?输出是HTML。将
内容类型设置为
文本/纯文本
是不正确的。啊,考虑到这一限制,只需环绕回显的内容。虽然我理解你的痛苦。但对于我们这些偶尔在HTML中编写PHP的人来说,这个快捷方式实际上非常有用。
<body>
        <div>Some multi-line message below:</div> 
        <div><?= nl2br(file_get_contents('message.txt.asc')); ?></div>
</body>