Warning: Cannot modify header information - headers already sent by (output started at


오늘 나를 삽질 시킨 php 오류 메시지 였습니다...

구글링 하니까 바로 나왔습니다...

http://topnice.springnote.com/pages/2330954

header() 함수를 사용하기 전에 그 어떤 출력(공백/엔터/HTML등)도 선행되어서는 안됩니다.


그러나, 사정상 조건/분기등에 의해 (물론 피할 수 있게끔 코딩하는게 최선이지만) 뒤늦은 header() 를 사용해야 할 수가 있는데요.

이럴때는 PHP4 이상의 output buffering 기능을 사용하실 수 있습니다.


소스 코드의 최상단에 (HTML 및 그 어떤 출력도 나오기 전) 다음과 같은 소스를 삽입하세요.

  

ob_start();

  

HTML이나 기타 출력되는 값을 메모리에 저장해 두었다가 프로그램 종료시 한꺼번에 내보내는 명령입니다.

이 펑션이 호출된 이후에 header() 를 만나면 어떤 HTML 출력과도 관계 없이 정상 실행합니다.

  

단, 기존의 게시판이나 기타 프로그램을 수정하고 계시며, 해당 프로그램에서도 ob_start()를 중복 사용하고 있다면, 해당 프로그램에서의 ob_start() 사용 용도에 따라 HTML출력에 또다른 문제가 발생할 수 있습니다(일반적인 경우 문제 없습니다)

  

출처 : 지식인

아 이분도 지식인에서 퍼오신거네요...
2010/08/18 15:10 2010/08/18 15:10

트랙백 주소 :: http://odoacer.kr/trackback/239

댓글을 달아 주세요

[로그인][오픈아이디란?]