최신 웹 개발 튜토리얼
 

PHP header() Function


<전체 PHP의 HTTP 참조

정의 및 사용

header() 함수는 클라이언트에 원시 HTTP 헤더를 보냅니다.

그주의하는 것이 중요하다 header() (이 문제를 해결하기 위해 출력 버퍼링을 사용하여, PHP 4 년 이상) 실제 출력이 전송되기 전에 호출해야합니다 :

<html>
<?php
// This results in an error.
// The output above is before the header() call
header('Location: http://www.example.com/');
?>

통사론

header(string,replace,http_response_code)

매개 변수 기술
string 필요합니다. 보낼 헤더 문자열을 지정합니다
replace 선택 과목. 헤더가 이전 대체 또는 두 번째 헤더를 추가할지 여부를 나타냅니다. 기본값은 TRUE입니다 (will replace) . FALSE (allows multiple headers of the same type)
http_response_code 선택 과목. 지정된 값으로 HTTP 응답 코드 강제 (available in PHP 4.3 and higher)

팁과주의 사항

Note: 이 기능을 한 번에 전송 될 하나 이상의 헤더를 방지 PHP 4.4입니다. 이것은 헤더 인젝션 공격에 대한 보호이다.


예 1

페이지 캐싱 방지 :

<?php
// Date in the past
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache");
header("Pragma: no-cache");
?>

<html>
<body>

...
...

Note: 사용자가 브라우저의 기본 캐시 설정을 변경 설정할 수 있습니다 옵션이 있습니다. 위의 헤더를 전송함으로써, 당신은 그 설정을 오버라이드 (override) 및 캐시하지 않도록 브라우저를 강제로!


예 2

사용자가 생성 된 PDF 파일을 저장하라는 메시지가하자 (내용 - 처리 헤더는 저장 대화 상자 권장 파일 이름을 제공하고 표시 할 브라우저를 강제하는 데 사용됩니다)

<?php
header("Content-type:application/pdf");

// It will be called downloaded.pdf
header("Content-Disposition:attachment;filename='downloaded.pdf'");

// The PDF source is in original.pdf
readfile("original.pdf");
?>

<html>
<body>

...
...

Note: 인해 작동하지 마이크로 소프트 IE 5.5에서 문제가있다. 버그는 서비스 팩 2 이상으로 업그레이드하여 해결할 수 있습니다.


<전체 PHP의 HTTP 참조