fgets结果后的自动空间?

Chr*_*ris 7 php space fgets

似乎fgets在它返回的所有内容之后放置一个空格.这是一些示例代码:

<?php
Echo "Opening " . $_SERVER{'DOCUMENT_ROOT'} . "/file.txt" . "...<br>";
$FileHandle = @Fopen($_SERVER{'DOCUMENT_ROOT'} . "/file.txt", "r");
If ($FileHandle){
    Echo "File opened:<br><br>";
    While (!Feof($FileHandle)){
        $Line = Fgets($FileHandle);
        Echo $Line . "word<br>"; //Should be LINECONTENTSword, no space.
    }
    Fclose($FileHandle);
}
?>
Run Code Online (Sandbox Code Playgroud)

返回

Opening /var/www/vhosts/cqe.me/httpdocs/file.txt...
File opened:

First line word
Second line word
3rd line word
Another line of text word
Blablablaword
Run Code Online (Sandbox Code Playgroud)

为什么线的内容和"单词"之间有空格?为什么这个空间不在文件末尾(Blablablaword)?

你能告诉我如何摆脱这个空间吗?非常感谢 :-)!

Frx*_*rem 14

fgets()返回一行换行符(\n \n).然后,就像所有其他空格一样,这将在HTML中呈现为空格.

要删除尾随换行符,请使用

$line = rtrim($line, "\r\n");
// Trims \r, \n and \r\n, which are all considered
// newlines on different platforms
Run Code Online (Sandbox Code Playgroud)


Bra*_*ley 7

我相信fgets也返回行尾字符(\n),并在html中呈现为空格.

如果要从行中删除所有尾随空格,可以使用rtrim