ホームページ >バックエンド開発 >PHPチュートリアル >PHPヘッダー関数は何をするのでしょうか? PHPヘッダー関数入門(コード付き)
php ヘッダー関数は何をするのでしょうか? PHP では、header 関数をステータス コードを送信するための 2 つの特別なヘッダーとして使用できます。同じタイプの以前のヘッダーを置き換えたり、HTTP 応答の値を強制的に指定したりできます。次に、次を見てみましょう。具体的な内容。
#まずは公式ドキュメントの定義を見てみましょう
(PHP 4, PHP 5, PHP 7)
header — ネイティブ HTTP ヘッダーを送信
1 void header ( string $string [, bool $replace = true [, int $http_response_code ]] )パラメータ:
string# # の特別なヘッドが 2 つあります。 「
HTTP/」で始まる最初のコード (大文字と小文字は区別されません) は、送信される HTTP ステータス コードを計算するために使用されます。たとえば、Apache サーバー上で PHP スクリプトを使用して、存在しないファイルに対するリクエストを処理する場合 (ErrorDocument ディレクティブを使用)、スクリプトが正しいステータス コードで応答することを期待するでしょう。 1 <?php
2 header("HTTP/1.0 404 Not Found");
3 ?>
2 番目の特殊なケースは、「Location:」ヘッダー情報です。ステータス コードが事前に
または ## に設定されていない限り、メッセージをブラウザに送信するだけでなく、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 を渡すと、同じヘッダー情報を強制的に共存させることができます。例:
1 <?php 2 header('WWW-Authenticate: Negotiate'); 3 header('WWW-Authenticate: NTLM', false); 4 ?>
HTTP 応答の値を強制します。このパラメータは、メッセージ文字列 (
string) が空でない場合にのみ有効であることに注意してください。 ヘッダー関数の一般的な使用法は次のとおりです:
1. リダイレクト
header('Location: http://www.example.com/');
2. 指定されたコンテンツ:
header ('Content-type: application/pdf'); : application/pdf');
//コンテンツを添付ファイルとして指定し、ダウンロード表示用の名前を指定
header('Content -Disposition:attachment; filename="downloaded.pdf"');
//ファイルを開いて出力
# readfile('original .pdf');
上記のコードは、ブラウザでファイル ダイアログ ボックスの効果を生成できます。
4. ユーザーがキャッシュの代わりに最新の情報とデータを取得できるようにしますHeader("Cache-Control: no-cache, must-revalidate" ); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // 重要な時間を設定します
Detailed例:
<?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'); ###### ?>
関連する推奨事項:
php ヘッダー関数の詳細な説明
PHP ヘッダーの使用法( ) 関数#########
以上がPHPヘッダー関数は何をするのでしょうか? PHPヘッダー関数入門(コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。