ホームページ >バックエンド開発 >PHPの問題 >phpヘッダーの使い方を詳しく解説

phpヘッダーの使い方を詳しく解説

藏色散人
藏色散人オリジナル
2020-07-08 09:48:443325ブラウズ

php ヘッダーは、元の HTTP ヘッダーをクライアントに送信するために使用されます。この関数の構文は「header(string,replace,http_response_code)」で、パラメータ文字列は送信されるヘッダー文字列を表します。

phpヘッダーの使い方を詳しく解説

PHP header() 関数

定義と使用法

header() 関数のclient クライアントは生の HTTP ヘッダーを送信します。

実際の出力が送信される前に header() 関数を呼び出す必要があることを認識することが重要です (PHP 4 以降では、出力キャッシュを使用してこの問題を解決できます):

<html>
<?php
// 结果出错
// 在调用 header() 之前已存在输出
header(&#39;Location: http://www.example.com/&#39;);
?>

構文

header(string,replace,http_response_code)

パラメータ

string 必須。送信するヘッダー文字列を指定します。

replace

オプション。このヘッダーが前のヘッダーを置き換えるか、2 番目のヘッダーを追加するかを示します。

デフォルトは true (置換) です。 false (同じタイプの複数のヘッダーを許可します)。

http_response_code オプション。 HTTP 応答コードを指定された値に強制します。 (PHP 4 以降で利用可能)

ヒントと注意事項

注: 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>
...
...

注: ユーザーは、ブラウザのデフォルトのキャッシュ設定を変更するためにいくつかのオプションを設定できます。上記のヘッダーを送信すると、これらの設定をオーバーライドして、ブラウザーがキャッシュしないように強制できます。

例 2

生成された PDF ファイルを保存するようにユーザーにプロンプ​​トを表示します (Content-Disposition ヘッダーは、推奨されるファイル名を提供し、ブラウザーに保存ダイアログを強制的に表示するために使用されます):

<?php
header("Content-type:application/pdf");
// 文件将被称为 downloaded.pdf
header("Content-Disposition:attachment;filename=&#39;downloaded.pdf&#39;");
// PDF 源在 original.pdf 中
readfile("original.pdf");
?>
<html>
<body>
...
...

注: Microsoft IE 5.5 には、上記のメカニズムを妨げるバグがあります。このバグは Service Pack 2 以降にアップグレードすることで解決できます。

関連知識の詳細については、PHP 中国語 Web サイト をご覧ください。

以上がphpヘッダーの使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。