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