"PHP ob start()"의 두 판 사이의 차이

25번째 줄: 25번째 줄:
<source lang="PHP">
<source lang="PHP">
while(ob_end_flush()); // Stop all ob_start()
while(ob_end_flush()); // Stop all ob_start()
echo ob_get_level(); // 0
echo ob_get_level(); // 0
ob_start();
ob_start();

2016년 10월 22일 (토) 22:05 판

1 개념

ob_start, ob_start()
  • "output buffering start"
  • 출력 버퍼링을 켬
  • 출력 버퍼링이 켜져 있는 동안 헤더를 제외한 스크립트의 모든 출력을 내부 버퍼에 저장하며 실제 전송하지 않음
  • ob_start를 여러번 호출 하여 중첩이 가능

2 예시

while(ob_end_flush()); // Stop all ob_start()

ob_start();
for ($i = 0; $i < 10; $i++) {
	echo $i;
	echo str_pad("", 4096);
	sleep(1);
	ob_flush();
	flush();
}
ob_end_flush();

3 예시2

  • ob_start 를 중첩 호출하여 각 단계에서 레벨값의 출력 예제
while(ob_end_flush()); // Stop all ob_start()

echo ob_get_level(); // 0
ob_start();
	echo ob_get_level(); // 1
	ob_start();
	echo ob_get_level(); // 2
	ob_end_flush();
	echo ob_get_level(); //1
ob_end_flush();
echo ob_get_level(); // 0

4 같이 보기

5 참고 자료

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}