在PHP中使用换行符输出文本文件

xnifntxz  于 2023-06-28  发布在  PHP
关注(0)|答案(9)|浏览(160)

我正在尝试打开一个文本文件并使用下面的代码输出其内容。文本文件包括换行符,但当我回显该文件时,它没有格式化。我该怎么解决?
谢谢

<html>

<head>

</head>

<body>

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

        $pageText = fread($fh, 25000);

        echo $pageText;

</body>

</html>
wfsdck30

wfsdck301#

要将纯文本换行符转换为html换行符,请尝试以下操作:

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

    $pageText = fread($fh, 25000);

    echo nl2br($pageText);

注意nl2br函数 Package 了文本。

cngwdvgl

cngwdvgl2#

一行代码:

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

fnvucqvd3#

如果你只是想在HTML代码中显示文件的输出,格式与文本文件中的格式相同,你可以用一对pre标签 Package 你的echo语句:

echo "<pre>" . $pageText . "</pre>;

其他一些答案看起来很有希望,这取决于你想做什么。

ev7lccsx

ev7lccsx4#

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

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

echo str_replace("\n","&lt;br&gt;",$fileContent);

这将负责回车和输出文本。除非我写文件,否则我不会使用fopen和相关的函数。
希望这能帮上忙。

cidc1ykv

cidc1ykv5#

在回声之前,一定要包括

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

d4so4syb6#

您是输出为HTML还是纯文本?如果是HTML,尝试在每行末尾添加一个<br>。例如

while (!feof($handle)) {
  $buffer = fgets($handle, 4096); // Read a line.
  echo "$buffer<br/>";
}
bqf10yzr

bqf10yzr7#

尝试在Apache 2和PHP 5.3.3与MacOSX 10.6.6和Camino上读取.txt文件时使用换行符,**echo nl 2br($text);**没有工作的权利,直到我打印的文件大小第一次了。顺便说一句,如果.txt文件有Linux/MacOSX LF或Windows CRLF换行符,或者文本编码是UTF-8或Windows Latin 1,Camino可以把它弄出来。

<?php
$filename     = "/Users/Shared/Copies/refrain.txt";
$file_ptr     = fopen ( $filename, "r" );
$file_size    = filesize ( $filename );
$text         = fread ( $file_ptr, $file_size );
fclose ( $file_ptr );
echo ( "File size : $file_size bytes<br>&nbsp;<br>" );
echo nl2br ( $text );
?>
s4chpxco

s4chpxco8#

您需要将PHP代码 Package 到<?php <YOU CODE HERE >?>中,并将其保存为.php.php5(取决于您的Apache设置)。

iibxawm4

iibxawm49#

假设您有一个由Web服务器托管的index.php文件。你想插入一些多行文本文件的内容。你就该这么做

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

这个<?= ... ?>部分只是一个简写,它指示Web服务器,它需要被视为PHP echo参数。

相关问题