출력 버퍼링 제어

출력 버퍼링 제어 (Output Buffering Control)

PHP가 출력을 언제 브라우저로 보낼지를 제어하고 싶을 때 쓰는 함수들이 이 장에 모여 있어요. 이 페이지에서는 출력 버퍼링 제어가 무엇을 하는지 개요를 살펴봐요.

출처: Output Buffering Control

본문

Output Control 함수들은 스크립트가 언제 출력을 보낼지를 제어할 수 있게 해줍니다. 여러 상황에서 유용한데, 특히 스크립트가 데이터 출력을 시작한 뒤에 헤더(header)를 브라우저로 보내야 할 때 필요해요.

중요한 점은, Output Control 함수는 header()setcookie()로 보내는 헤더에는 영향을 주지 않는다는 것입니다. 오히려 echo 같은 함수와 PHP 코드 블록 사이의 데이터에만 영향을 미칩니다.

Output Control이 다루는 내용은 상당히 넓어요. 이 책 페이지는 다음과 같은 주제들을 포함합니다.

  • 출력 버퍼링(Output Buffering) — 시스템 버퍼와 사용자 수준 출력 버퍼를 플러시, 어떤 출력이 버퍼링되는지, 버퍼 중첩(nesting), 버퍼 크기, 버퍼에 허용되는 연산
  • 출력 핸들러(Output Handlers) — 핸들러로 작업하기, 핸들러에 전달되는 플래그, 핸들러 반환 값
  • Examples — 기본 사용법(basic usage), 출력 재작성(output rewrite) 사용법

주요 함수들은 다음과 같아요.

  • flush — 출력 버퍼를 플러시
  • ob_clean — 출력 버퍼를 비움
  • ob_end_clean — 버퍼를 비우고 출력 버퍼링 종료
  • ob_end_flush — 버퍼를 플러시하고 출력 버퍼링 종료
  • ob_flush — 출력 버퍼를 플러시
  • ob_get_clean — 현재 버퍼 내용을 얻고 비운 뒤 버퍼링 종료
  • ob_get_contents — 출력 버퍼의 내용을 얻음
  • ob_get_flush — 버퍼 내용을 플러시하고 버퍼링 종료
  • ob_get_length — 출력 버퍼의 길이를 얻음
  • ob_get_level — 출력 버퍼링 중첩 수준을 얻음
  • ob_get_status — 출력 버퍼의 상태를 얻음
  • ob_implicit_flush — 묵시적 플러시 켜기/끄기
  • ob_list_handlers — 사용 중인 출력 핸들러 목록
  • ob_start — 출력 버퍼링 시작
  • output_add_rewrite_var — URL 재작성 값 추가
  • output_reset_rewrite_vars — URL 재작성 값 재설정

더 알아보기