2010-08-18 4 views
6

마치 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); 
} 
?> 

왜 라인의 내용과 "단어"사이에 공백이

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 

를 반환 여기에 몇 가지 예제 코드인가? 그리고 왜이 공간이 파일 (Blablablaword)의 끝에 있지 않습니까?

이 공간을 없애는 방법을 알려주시겠습니까? 감사합니다 .--)!

+0

를 사용, 후행 줄 바꿈을 제거하려면 동화. –

+0

녹색 체크로 충분할 것이라고 생각 했습니까? 내가 틀렸다면 실례합니다. – Chris

답변

12

fgets()이 라인 개행 문자 (\n)를 반환 사용할 수 있습니다. 그러면 다른 모든 공백과 마찬가지로 HTML의 공간으로 렌더링됩니다. 당신을 위해 작동하는 경우 더 이상 더 필요하면 자신과 같은 다른 사람들이 알지 않도록

는, (내가 생각, 체크 박스)가 해결책을 받아들이는 관례

$line = rtrim($line, "\r\n"); 
// Trims \r, \n and \r\n, which are all considered 
// newlines on different platforms 
+0

설명 주셔서 감사합니다. – Chris

7

나는 fgets가 줄 끝 문자 (\ n)도 반환한다고 믿고, 이것은 html로 공백으로 렌더링됩니다. 당신이 라인에서 모든 후행 공백을 제거하려면

, 당신은 rtrim

+0

빠른 답장을 보내 주셔서 감사합니다 :-) – Chris