English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
headers_sent() 함수는 HTTP 헤더가 이미 전송되었는지 확인합니다.
bool headers_sent ([ string &$file [, int &$line ]])
HTTP 헤더가 이미 전송되었는지 확인합니다.
HTTP 헤더가 이미 전송되었을 때, header()를 통해 추가적인 헤더 필드를 추가할 수 없습니다. 이 함수를 사용하면 HTTP 헤더 오류를 방지할 수 있습니다. 또한 출력 버퍼를 사용하는 것도 해결책 중 하나입니다.
HTTP 헤더가 전송되지 않았을 때, headers_sent()는 FALSE를 반환하고, 전송되었을 때 TRUE를 반환합니다.
순번 | 매개변수와 설명 |
---|---|
1 | 파일 optional parameter file과 line이 설정되면, headers_sent()는 PHP 파일 이름을 file 변수에, 시작된 행 번호를 line 변수에 출력합니다. |
2 | 행 시작된 행 번호를 출력합니다. |
아래의 예제를 시도해 보세요
<?php if (!headers_sent()) { header('Location: \//ko.oldtoolbag.com/'); exit; } header('Location: \//ko.oldtoolbag.com/'); exit; } else { echo \ "href = \//ko.oldtoolbag.com\">링크</a> 대신\n"; exit; } ?>
위의 예제는 헤더가 이미 전송되었는지 확인하고, 전송되었으면 메시지를 표시하고, 전송되지 않았으면 헤더를 전송합니다