출력 버퍼링 제어
출력 버퍼링 제어 (Output Buffering Control)
PHP가 출력을 언제 브라우저로 보낼지를 제어하고 싶을 때 쓰는 함수들이 이 장에 모여 있어요. 이 페이지에서는 출력 버퍼링 제어가 무엇을 하는지 개요를 살펴봐요.
본문
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 재작성 값 재설정