UTF-8형식의 파일에서 UTF-8형식의 파일을 include하다 보면, 상황에 따라 화면의 layout이 깨지는 경우가 발생한다. 이는 주로 Internet Explorer에서 발생하며, include하는 과정에서 발생하는 불필요한 출력이 반영되는 걸로 보인다.

이때, 다음과 같은 방법을 적용해 볼수 있다.
단, target 파일에는 함수라이브러리나, 환경설정등과 같이 직접 출력하는 코드가 없어야 한다.


  • target.php
    [code]<?
      /* ... */
    ?>[/code]
  • main.php
    [code]<?
      ob_start();
      include("target.php")
      ob_end_clean();
    ?>[/code]
ob_start()는 이후 발생하는 출력에 대해 버퍼링을 시작한다.
ob_end_clean()은 버퍼에 쌓여있는 내용을 모두 버리고 버퍼링을 멈춘다.
=> 결론적으로 include()과정에서 발생할수 있는 불필요한 출력을 버퍼에 담아두었다가 그냥 버리는 효과가 있다.

Posted by 호아범
TAG , ,

트랙백 주소 :: http://www.crazybar.net/trackback/222 관련글 쓰기

댓글을 달아 주세요