19'C 흐림
서울 강남구
출력 버퍼링은 출력물이 php에 파싱되어 echo나 print에 의해 브라우저로 출력되는 방법이 일반적인데, 필요에 의해 출력 결과물을 바로 브라우저로 보내지 않고, 내용물을 잠깐 동안 버퍼에 보관해 두었다가 출력이 필요할 곳에 이를 사용할 수 있습니다.
이를 사용하기 위애서는 ob_start()함수를 호출하고, ob_end_flush로 버퍼링을 비워주면 되는데, 여기서 비운다는 의미는 버퍼에 저장되어 있는 내용을 브라우저로 출력하고, 버퍼를 비운다는 뜻입니다.
출력물을 비우기 전에 변수에 저장하고자 할때는 ob_get_contents를 사용합니다.
여기서 출력물을 ob_get_contents로 변수에 저장하고, 버퍼의 내용을 브라우저로 출력하지 않고, 그대로 비우길 원한다면, ob_end_clean를 사용하면 됩니다.
다음과 같이 사용해도 동일합니다.
flush 함수는 출력물을 브라우저로 보내고, 출력 버퍼를 비우는 역할을 하지만, 서버나 클라이언트에 영향을 주지 않습니다.
그래서 ob_flush와 flush를 모두 호출해야 되는데, 몇몇 브라우저는 버퍼를 비우지 않고, 버퍼를 가지고 지속하는 경우가 있는데, 익스플로러 브라우저의 몇몇 버전은 256바이트를 출력받았을 때만 브라우저로 출력하기 때문에 여분의 공백 256바이트와 함께 실제적인 출력물을 전송하면 됩니다.
넷스케이프는 태그가 종료되거나 태그가 시작할 때까지 버퍼에 담아두는 경우도 있으니 참고하여야 합니다.