PHP에서 include 시 HTTP 헤더 문제
HTTP 헤더 문제는
include를 통해 파일을 포함시킬 때도
발생할 수 있습니다.
닫는 태그 ?> 뒤에
공백이나 빈 줄이 있는 경우에 나타나는데,
예를 들면 다음과 같습니다:
<?php
// 일부 코드
?>
이 경우 우리의 파일을 다른 파일에 인클루드하면 남겨진 빈 줄들이 화면에 출력된 것처럼 동작합니다:
<?php
include 'file.php'; // 내부적으로 출력 발생
header('Content-Type: text/html');
?>
이 문제를 해결하려면 모든 PHP 파일에서
마지막 닫는 태그 ?>를 제거하는 것이
좋습니다. 이 방법은 PHP 오류를 일으키지 않으면서
실수로 빈 줄이 추가되는 것을 방지해 줍니다.
파일을 수정해 보겠습니다:
<?php
// 일부 코드
다음 코드에서 발생한 오류를 수정하세요:
<?php
function func1() {
echo '1';
}
?>
<?php
function func2() {
echo '2';
}
?>
<?php
include 'file1.php';
include 'file2.php';
header('Content-Type: text/html');
?>
다음 코드에서 발생한 오류를 수정하세요:
<?php
function func1() {
echo '1';
}
?>
<?php
function func2() {
echo '2';
}
?>
<?php
include 'file.php';
header('Content-Type: text/html');
?>