在 PHP 中输出带有换行符的文本文件
我正在尝试打开一个文本文件并使用下面的代码输出其内容。该文本文件包含换行符,但当我回显该文件时,其未格式化。我该如何解决这个问题?
谢谢。
<html>
<head>
</head>
<body>
$fh = fopen("filename.txt", 'r');
$pageText = fread($fh, 25000);
echo $pageText;
</body>
</html>
I'm trying to open a text file and output its contents with the code below. The text file includes line breaks but when I echo the file its unformatted. How do I fix this?
Thanks.
<html>
<head>
</head>
<body>
$fh = fopen("filename.txt", 'r');
$pageText = fread($fh, 25000);
echo $pageText;
</body>
</html>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
要将纯文本换行符转换为 html 换行符,请尝试以下操作:
注意 nl2br 函数对文本进行换行。
To convert the plain text line breaks to html line breaks, try this:
Note the nl2br function wrapping the text.
一行代码:
One line of code:
如果您只想在 HTML 代码中显示文件的输出,其格式与文本文件中的格式相同,您可以用一对 pre 标记包装您的 echo 语句:
其他一些答案看起来很有希望,具体取决于您的内容尝试待办事项。
If you just want to show the output of the file within the HTML code formatted the same way it is in the text file you can wrap your echo statement with a pair of pre tags:
Some of the other answers look promising depending on what you are trying todo.
对于像这样的简单读取,我会这样做:
这将处理回车符并输出文本。除非我正在写入文件,否则我不会使用 fopen 和相关函数。
希望这有帮助。
For simple reads like this, I'd do something like this:
This will take care of carriage return and output the text. Unless I'm writing to a file, I don't use fopen and related functions.
Hope this helps.
在 echo 之前,请务必包含
Before the echo, be sure to include
您输出的是 HTML 还是纯文本?如果是 HTML,请尝试在每行末尾添加
。例如Are you outputting to HTML or plain text? If HTML try adding a
<br>
at the end of each line. e.g.尝试使用换行符在 MacOSX 10.6.6 和 Camino 上读取 Apache2 和 PHP 5.3.3 上的 .txt 文件时, echo nl2br( $text); 无法正常工作,直到我打印文件大小也是第一位的。
顺便说一句,.txt 文件是否有 Linux/MacOSX LF 或 Windows CRLF 换行符或者文本编码是 UTF-8 或 Windows Latin1 似乎并不重要,Camino 可以正常显示。
Trying to get line breaks to work reading a .txt file on Apache2 and PHP 5.3.3 with MacOSX 10.6.6 and Camino, the echo nl2br( $text); didn't work right until I printed the file size first too.
BTW it doesn't seem to matter if the .txt file has Linux/MacOSX LF or Windows CRLF line breaks or the text encoding is UTF-8 or Windows Latin1, Camino gets it out OK.
您需要将 PHP 代码包装为
?>
,并将其另存为.php
或.php5< /code> (取决于您的 apache 设置)。
You need to wrap your PHP code into
<?php <YOU CODE HERE >?>
, and save it as.php
or.php5
(depends on your apache set up).假设您有一个由 Web 服务器托管的
index.php
文件。您想在其中插入一些多行文本文件内容。这就是你的做法:这个
部分只是一个简写,它指示 Web 服务器需要将其视为 PHP
echo< /代码> 参数。
Say you have an
index.php
file hosted by the web server. You want to insert some multi-line text file contents into it. That's how you do it:This
<?= ... ?>
part is just a shorthand, which instructs the web server, that it needs to be treated as a PHPecho
argument.