본문 바로가기

컴터/php

setcookie 이전에 출력결과가 있을때 피해서 굽기

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
ob_start();
setcookie("ccid", 'kimyh003', time()-3600);
ob_end_clean();

-----------------------------------------------------------------------------
내가 생각하는 ob_ 함수들.
ob_start() : 버퍼 시작.
ob_end_clean() : 출력 버퍼 작업을 끝내고 그동안의 버퍼 내용을 비운다
ob_end_flush() : 출력 버퍼 작업을 종료(끝내고)하고, 버퍼의 내용을 출력한다.
ob_flush() : 버퍼에 담은 내용을 출력한다.
ob_get_contents() : 버퍼 시작후 내용을 담는다. (이후에 버퍼 종료 나 비우는 함수를 호출)
ob_get_clean() : 버퍼 내용을 담은후 버퍼를 비운다.(이후에는 비우는 작업은 안해도됨.)

------------------------------------------------------------------------------
http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_function&wr_id=122972&sca=&sfl=wr_subject%7C%7Cwr_content&stx=ob_start+%BF%EB%B5%B5&sop=and
ob_start();
함수를 실행되는 페이지 상단에 넣어줍니다.
쿠키나 세션정보는 브라우저의 요청에 해당하는 파일을 클라이언트에 보낼때 헤더 정보를 구성합니다.
이때 어떤 내용도 헤더정보의 앞에서 출력될 수는 없게 되어 있습니다. ob_start() 함수는 일조의 버퍼링 함수로서 출력문이 먼저 나오고 헤더관련 조작문이 나오더라도 헤더문 이전의 출력문들을 모두 버퍼링한후 최종적으로 html 파일을 만들때 헤더문의 다음에 출력하게 됩니다. 그래서 에러를 피할 수 있게 되는 겁니다.