PHP 헤더 기능은 어떤 역할을 하나요? PHP에서 헤더 함수는 상태 코드를 전송하기 위해 두 개의 특수 헤더로 사용될 수 있습니다. 이는 동일한 유형의 이전 헤더를 대체하거나 HTTP 응답 값을 강제로 지정할 수 있습니다. 구체적인 내용.
먼저 공식 문서의 정의를 살펴보겠습니다
(PHP 4, PHP 5 , PHP 7)# 🎜🎜#
header — 네이티브 HTTP 헤더 보내기
1 void header ( string $string [, bool $replace = true [, int $http_response_code ]] )매개변수: # 🎜🎜##🎜 🎜#
string
에는 두 개의 특수 헤드가 있습니다. "HTTP/
"(대소문자는 중요하지 않음)으로 시작하는 첫 번째 코드는 전송될 HTTP 상태 코드를 계산하는 데 사용됩니다. 예를 들어 존재하지 않는 파일에 대한 요청을 처리하기 위해 Apache 서버에서 PHP 스크립트를 사용하는 경우(ErrorDocument 지시어 사용) 스크립트가 올바른 상태 코드로 응답하기를 바랍니다.
1 <?php 2 header("HTTP/1.0 404 Not Found"); 3 ?>두 번째 특수 사례는 "Location:" 헤더 정보입니다. 브라우저에 메시지를 보낼 뿐만 아니라 상태 코드가 201#🎜🎜로 설정되지 않은 한 REDIRECT
(302) 상태 코드를 브라우저에 반환합니다. #또는 3xx. 1 <?php
2 header("Location: http://www.example.com/"); /* Redirect browser */
3
4 /* Make sure that code below does not get executed when we redirect. */
5 exit;
6 ?>
replace
선택 매개변수
replace
FALSE
을 전달하면 동일한 헤더 정보가 강제로 공존할 수 있습니다. 예: replace
表明是否用后面的头替换前面相同类型的头。 默认情况下会替换。如果传入 FALSE
,就可以强制使相同的头信息并存。例如:
1 <?php 2 header('WWW-Authenticate: Negotiate'); 3 header('WWW-Authenticate: NTLM', false); 4 ?>
http_response_code
强制指定HTTP响应的值。注意,这个参数只有在报文字符串(string
<?php
header('HTTP/1.1 200 OK'); // ok 正常访问
header('HTTP/1.1 404 Not Found'); //通知浏览器 页面不存在
header('HTTP/1.1 301 Moved Permanently'); //设置地址被永久的重定向 301
header('Location: http://www.ithhc.cn/'); //跳转到一个新的地址
header('Refresh: 10; url=http://www.ithhc.cn/'); //延迟转向 也就是隔几秒跳转
header('X-Powered-By: PHP/6.0.0'); //修改 X-Powered-By信息
header('Content-language: en'); //文档语言
header('Content-Length: 1234'); //设置内容长度
header('Last-Modified: '.gmdate('D, d M Y H:i:s', $time).' GMT'); //告诉浏览器最后一次修改时间
header('HTTP/1.1 304 Not Modified'); //告诉浏览器文档内容没有发生改变
###内容类型###
header('Content-Type: text/html; charset=utf-8'); //网页编码
header('Content-Type: text/plain'); //纯文本格式
header('Content-Type: image/jpeg'); //JPG、JPEG
header('Content-Type: application/zip'); // ZIP文件
header('Content-Type: application/pdf'); // PDF文件
header('Content-Type: audio/mpeg'); // 音频文件
header('Content-type: text/css'); //css文件
header('Content-type: text/javascript'); //js文件
header('Content-type: application/json'); //json
header('Content-type: application/pdf'); //pdf
header('Content-type: text/xml'); //xml
header('Content-Type: application/x-shockw**e-flash'); //Flash动画
######
###声明一个下载的文件###
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="ITblog.zip"');
header('Content-Transfer-Encoding: binary');
readfile('test.zip');
######
###对当前文档禁用缓存###
header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
######
###显示一个需要验证的登陆对话框###
header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Basic realm="Top Secret"');
######
###声明一个需要下载的xls文件###
header('Content-Disposition: attachment; filename=ithhc.xlsx');
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Length: '.filesize('./test.xls'));
header('Content-Transfer-Encoding: binary');
header('Cache-Control: must-revalidate');
header('Pragma: public');
readfile('./test.xls');
######
?>
Force the value of the HTTP 응답. 이 매개변수는 메시지 문자열(
string
)이 비어 있지 않은 경우에만 유효합니다.
헤더 기능의 일반적인 용도는 다음과 같습니다.
1. 리디렉션
헤더('위치: http://www.example.com/');
2. 콘텐츠 지정:
Header('콘텐츠 유형: application/pdf');
3. 첨부 파일:
header('Content-type: application/pdf') 🎜🎜#
// 내용을 다음과 같이 지정합니다. 첨부 파일을 만들고 다운로드 표시 이름을 지정합니다.header('Content-Disposition: attachment; filename="downloaded.pdf "');
#🎜 🎜# //파일을 열고 출력
readfile('original.pdf' ); caching
Header("Cache-Control: no-cache, must-revalidate") // HTTP/1.1#🎜🎜 # Header("만료: 토요일, 1997년 7월 26일 05:00:00 GMT"); // 중요한 시간 설정
자세한 예: #🎜 🎜#
rrreee# 🎜🎜# 관련 추천 :
php 헤더 함수 상세 설명
PHP 헤더() 함수 사용
위 내용은 PHP 헤더 기능은 무엇을 합니까? PHP 헤더 기능 소개(코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!