IT/php

php headers_sent — 헤더가 전송되었는지 여부를 확인합니다.

조원태 2016. 12. 19. 20:26
반응형

headers_sent — 헤더가 전송되었는지 여부를 확인합니다.


설명 ¶


bool headers_sent ([ string &$file [, int &$line ]] )


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


헤더 블록이 이미 보내지면 header () 함수를 사용하여 헤더 행을 더 이상 추가 할 수 없습니다. 이 함수를 사용하면 적어도 HTTP 헤더 관련 오류 메시지가 표시되지 않도록 할 수 있습니다. 또 다른 옵션은 출력 버퍼링을 사용하는 것입니다.


인수 ¶

file

선택적인 파일과 라인 매개 변수가 설정되면, headers_sent ()는 파일과 라인 변수에서 출력이 시작되는 PHP 소스 파일 이름과 라인 번호를 넣을 것입니다.


line

출력이 시작된 행 번호.


반환값 ¶

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


예제 ¶


<?php


// If no headers are sent, send one

if (!headers_sent()) {

    header('Location: http://www.example.com/');

    exit;

}


// PHP 4.3.0 이후의 선택적 파일과 라인 매개 변수를 사용한 예제

// $ filename과 $ linenum은 나중에 사용하기 위해 전달됩니다.

// 미리 값을 할당하지 마십시오.

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;

}


?>

반응형