header() 함수는 원시 HTTP 헤더를 클라이언트에 보냅니다.
실제 출력이 전송되기 전에 header() 함수를 호출해야 한다는 점을 인식하는 것이 중요합니다(PHP 4 이상에서는 출력 버퍼링을 사용하여 이 문제를 해결할 수 있습니다).
<html><?php// 이로 인해 오류가 발생합니다.// 위 출력은 header() callheader('Location: http://www.example.com/');?>
헤더(문자열,교체,http_response_code)
매개변수 | 설명하다 |
---|---|
끈 | 필수의. 전송할 헤더 문자열을 지정합니다. |
바꾸다 | 선택 과목. 이 헤더가 이전 헤더를 대체하는지 아니면 두 번째 헤더를 추가하는지 여부를 나타냅니다. 기본값은 TRUE(교체)입니다. FALSE(동일한 유형의 여러 헤더 허용) |
http_response_code | 선택 과목. HTTP 응답 코드를 지정된 값으로 강제합니다. (PHP 4.3 이상에서 사용 가능) |
참고: PHP 4.4부터 이 기능은 여러 헤더가 동시에 전송되는 것을 방지합니다. 이는 헤더 인젝션 공격에 대한 보호 조치입니다.
페이지 캐싱을 비활성화합니다.
<?php// 과거의 날짜header("만료: Mon, 1997년 7월 26일 05:00:00 GMT");header("Cache-Control: no-cache");header("Pragma: no-cache") ;?><html><본문>......
참고: 사용자가 브라우저의 기본 캐시 설정을 변경하기 위해 설정할 수 있는 옵션이 있습니다. 위의 헤더를 보내면 이러한 설정을 무시하고 브라우저가 캐시하지 않도록 강제할 수 있습니다!
생성된 PDF 파일을 저장하라는 메시지를 사용자에게 표시합니다. Content-Disposition 헤더는 권장 파일 이름을 제공하고 브라우저가 저장 대화 상자를 표시하도록 하는 데 사용됩니다.
<?phpheader("Content-type:application/pdf");// download.pdfheader("Content-Disposition:attachment;filename='downloaded.pdf'");// PDF 소스는 원본입니다. .pdfreadfile("original.pdf");?><html><body>......
참고: Microsoft IE 5.5에는 위 메커니즘을 방해하는 버그가 있습니다. 이 버그는 서비스 팩 2 이상으로 업그레이드하면 해결될 수 있습니다.