我正在尝试使用下面的代码打开文本文件并输出其内容。该文本文件包含换行符,但是当我echo(输出)文件时它没有保留格式。我该如何解决这个问题?
谢谢。
<html>
<head>
</head>
<body>
$fh = fopen("filename.txt", 'r');
$pageText = fread($fh, 25000);
echo $pageText;
</body>
</html>
我正在尝试使用下面的代码打开文本文件并输出其内容。该文本文件包含换行符,但是当我echo(输出)文件时它没有保留格式。我该如何解决这个问题?
谢谢。
<html>
<head>
</head>
<body>
$fh = fopen("filename.txt", 'r');
$pageText = fread($fh, 25000);
echo $pageText;
</body>
</html>
要将纯文本的换行符转换为HTML换行符,请尝试以下方法:
$fh = fopen("filename.txt", 'r');
$pageText = fread($fh, 25000);
echo nl2br($pageText);
请注意文本周围的 nl2br 函数。
一行代码:
echo nl2br( file_get_contents('file.txt') );
如果您只想在HTML代码中显示文件的输出,并以与文本文件相同的格式进行格式化,则可以使用一对pre标签将echo语句包装起来:
echo "<pre>" . $pageText . "</pre>;
根据您想要做什么,其他答案中的一些看起来很有前途。
对于像这样简单的读取,我会这样做:
$fileContent = file_get_contents("filename.txt");
echo str_replace("\n","<br>",$fileContent);
header('Content-Type: text/plain');
在Apache2和PHP 5.3.3与MacOSX 10.6.6和Camino中读取一个.txt文件时,尝试使换行符起作用,直到我先打印文件大小,echo nl2br( $text); 才能正常工作。 顺便说一下,.txt文件是否具有Linux/MacOSX LF或Windows CRLF换行符,或者文本编码是UTF-8还是Windows Latin1似乎并不重要,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> <br>" );
echo nl2br ( $text );
?>
<br>
。例如:while (!feof($handle)) {
$buffer = fgets($handle, 4096); // Read a line.
echo "$buffer<br/>";
}
index.php
文件。您想将一些多行文本文件内容插入其中。操作步骤如下:<body>
<div>Some multi-line message below:</div>
<div><?= nl2br(file_get_contents('message.txt.asc')); ?></div>
</body>
这个<?= ... ?>
部分只是一个简写,它告诉Web服务器,它需要被视为PHP echo
参数。
你需要将你的PHP代码包裹在<?php <YOU CODE HERE >?>
中,并将其保存为.php
或.php5
(取决于你的Apache设置)。
fpassthru()
的原因是什么? - Ignacio Vazquez-Abrams