ホームページ  >  記事  >  バックエンド開発  >  PHPのヘッダー関数の使い方

PHPのヘッダー関数の使い方

青灯夜游
青灯夜游オリジナル
2019-02-27 11:56:3111732ブラウズ

header() 関数は、生の HTTP ヘッダーを送信するために使用できる PHP の組み込み関数です。次の記事では、header() 関数の概要と、いくつかの header() 関数の使用法を紹介しますので、ご参考になれば幸いです。 [ビデオチュートリアルの推奨: PHP チュートリアル ]

PHPのヘッダー関数の使い方

header() 関数

PHP header() 関数の役割: HTTP ヘッダーを元の形式でクライアントまたはブラウザに送信します。生データは、HTML、XML、JSON、またはその他の出力がブラウザーまたはクライアントに送信される前に、サーバーによって行われたリクエスト (特に HTTP リクエスト) のヘッダー情報として送信されます。 HTTP ヘッダーは、メッセージ本文で送信されるオブジェクトに関する必要な情報 (より正確にはリクエストと応答に関する情報) を提供します。

基本文型:

header( $header, $replace = TRUE, $http_response_code )

パラメータ: header() 関数は 3 つのパラメータを受け入れます

$header: 使用 タイトルを保存弦。ヘッダー呼び出しには 2 種類あり、1 つ目は送信する HTTP ステータス コードを決定する文字列「HTTP /」で始まり、2 つ目は必須パラメーターである「Location:」で始まります。

$replace: タイトルで前のタイトルを置き換えるか、2 番目のタイトルを追加する必要があることを示すために使用されます (省略可能)。デフォルト値は True (置換されます) ですが、$replace 値が False の場合、同じタイプの複数のヘッダーが強制的に使用されます。

$http_response_code: HTTP 応答コードを指定された値 (PHP 4.3 以降) に強制するために使用されます。これは省略可能です。

header() 関数の使用法

1. URL にリダイレクトしてページにジャンプします

<?php 
header("Location: http://www.php.cn"); 
exit; 
?>

ジャンプ時間を調整し、一定時間後にジャンプが実行されるように設定することもできます

<?php 
header("Refresh: 5; url= http://www.php.cn"); 
exit; 
?>

2. キャッシュ コントロールを設定してブラウザのキャッシュを制御します

<?php 
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");//内容过期时间 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");//标记内容最后修改时间
header("Cache-Control: no-cache, must-revalidate");//强制不缓存
header("Pragma: no-cache");//禁止本页被缓存
?> 
  
<html> 
    <body> 
        <p>Hello World!</p> 
        <?php 
            var_dump(headers_list()); 
        ?> 
    </body> 
</html>

出力:

PHPのヘッダー関数の使い方

サンプルの説明:

上記の例は、キャッシュを無効にすることを意味します。これにより、ブラウザーがキャッシュを防止し、ブラウザーがこれをリクエストできるようになります。毎回ページ 常にサーバーにアクセスして、最新バージョンのコンテンツを取得します。

注: ヘッダー インジェクション攻撃を防ぐために (PHP 4.4 以降) 同時に送信できるヘッダーは 1 つだけであるため、この例では header() 関数が複数回使用されています。

3. ネットワーク ファイルの種類、文字エンコーディング、言語、コンテンツの長さを設定します

//设置简体中文
header("Content-Language: charset=zh-cn");

// 设置内容长度
header(&#39;Content-Length: 39344&#39;);

//设置页面文件是HTML类型,字符集是GB2312,即简体中文
header("Content-type: text/html; charset=GB2312");

//设置页面文件是HTML类型,字符集是utf-8
header("content-type:text/html;charset=utf-8");

4. HTTP ステータスの送信

一般的な HTTP ステータスの一部を次に示します:

<?php
//200 正常状态
header(&#39;HTTP/1.1 200 OK&#39;);

// 301 永久重定向,记得在后面要加重定向地址 Location:$url
header(&#39;HTTP/1.1 301 Moved Permanently&#39;);

// 设置页面304 没有修改
header(&#39;HTTP/1.1 304 Not Modified&#39;);

//401 未经授权:访问由于凭据无效被拒绝,需要进行登录
header(&#39;HTTP/1.1 401 Unauthorized&#39;);

// 403 禁止访问
header(&#39;HTTP/1.1 403 Forbidden&#39;);
 
// 404 错误
header(&#39;HTTP/1.1 404 Not Found&#39;);
// 500 错误
header(&#39;HTTP/1.1 500 Internal Server Error&#39;);
?>

5. http 検証を実行し、情報を表示します

<?php
header(&#39;HTTP/1.1 401 Unauthorized&#39;);
header(&#39;WWW-Authenticate: Basic realm="登录信息"&#39;);
echo &#39;显示的信息!&#39;;
?>

6. ヘッダー ファイルの種類を設定します。ストリーミング ファイルまたはファイル ダウンロードのどちらを使用できますか

header(&#39;Content-Type: application/octet-stream&#39;); //设置内容类型
header(&#39;Content-Disposition: attachment; filename="example.zip"&#39;); //设置MIME用户作为附件
header(&#39;Content-Transfer-Encoding: binary&#39;); //设置传输方式
header(&#39;Content-Length: &#39;.filesize(&#39;example.zip&#39;)); //设置内容长度

上記がこの記事の全内容です。皆さんの学習に役立つことを願っています。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !

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

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