Network headers_sent

(PHP 4, PHP 5, PHP 7, PHP 8)

headers_sent — 헤더가 전송되었는지 여부 또는 위치 확인


설명

headers_sent(string &$filename = null, int &$line = null): bool

헤더가 전송되었는지 여부 또는 위치를 확인합니다.

헤더 블록이 이미 전송된 후에는 header() 함수를 사용하여 더 이상 헤더 라인을 추가할 수 없습니다. 이 함수를 사용하면 최소한 HTTP 헤더 관련 오류 메시지를 받는 것을 방지할 수 있습니다. 또 다른 옵션은 출력 버퍼링을 사용하는 것입니다.


매개변수

filename
선택적 filenameline 매개변수가 설정되면 headers_sent()filenameline 변수에서 출력이 시작된 위치에 PHP 소스 파일 이름과 라인 번호를 넣습니다.
line
출력이 시작된 줄 번호입니다.

반환 값

headers_sent()는 HTTP 헤더가 이미 전송되지 않은 경우 false를 반환하고 그렇지 않으면 true를 반환합니다.


Examples

예제 #1 headers_sent() 사용 예제

                  
<?php

// If no headers are sent, send one
if (!headers_sent()) {
    header('Location: http://www.example.com/');
    exit;
}

// An example using the optional file and line parameters
// Note that $filename and $linenum are passed in for later use.
// Do not assign them values beforehand.
if (!headers_sent($filename, $linenum)) {
    header('Location: http://www.example.com/');
    exit;

// You would most likely trigger an error here.
} else {

    echo "Headers already sent in $filename on line $linenum\n" .
          "Cannot redirect, for now please click this <a " .
          "href=\"http://www.example.com\">link</a> instead\n";
    exit;
}

?>
                  
                

메모

메모: 헤더를 지원하는 SAPI가 사용 중일 때만 헤더에 액세스하고 출력할 수 있습니다.


기타

  • ob_start() - 출력 버퍼링 켜기
  • trigger_error() - 사용자 수준 오류/경고/통지 메시지 생성
  • headers_list() - 보낸(또는 보낼 준비가 된) 응답 헤더 목록을 반환합니다.
  • header() - 관련된 문제에 대한 더 자세한 논의를 위해 원시 HTTP 헤더를 보내십시오.