2013-02-03 2 views
0

여기서 변수들을 수정하는 샘플 코드 : I가 상기 코드의 끝에위해서는 ob_end_clean도

ob_end_clean(); 

추가하면

testing = ini 
string: testing = ini 

:

ob_start(); 
include("test.ini"); 
$string = ob_get_contents(); 
echo "<br/>"; 
echo "string: ".$string; 

출력 화면에 출력이 없습니다.

적어도 화면에 문자열이 표시 될 것으로 예상됩니까? 왜 보이지 않는거야?

+0

이 경우는 ob_start()도 포함하지 않고 재현 할 수 있습니다. –

답변

1

ob_start();은 내부 버퍼에 출력 버퍼링을 시작하지 않고 (화면), ob_get_contents(); 그것은 내부 버퍼의 출력을 여전히 출력하지 않으며, ob_end_clean(); 해석하면 모든 내부 버퍼 메모리가 지워지고 아무것도 출력되지 않습니다.

ob_start(); to ob_end_clean(); 아무것도 인쇄되지 않을 것이다. 헤더를 보내기 전에 공백을 출력하지 못하도록 파일을 포함 할 때이 방법을 사용한다.

+0

ob_start()를 포함하지 않아도 똑같은 것을 재현 할 수 있습니다. 어떻게 작동합니까? –

+0

차이점은 ob_start()는 스크립트가 끝나기 전에 출력 버퍼링을 시작하고 스크립트 실행이 끝나면 정상 버퍼 출력이 시작되도록합니다. –

1

ob_get_clean(), ob_end_flush()ob_end_clean()의 차이점을 참조하십시오.

ob_get_clean은 현재 버퍼 내용을 가져오고 현재 출력 버퍼를 삭제합니다.

ob_end_flush은 내용을 삭제하지만 버퍼를 먼저 출력합니다.

ob_end_clean은 최상위 출력 버퍼의 내용을 삭제합니다. 아무것도 반환하지 않습니다.

1

당신이 ob_get_clean() 함수를 찾고 있다고 생각합니다.

관련 문제