ホームページ バックエンド開発 PHPチュートリアル ヘッダーの詳細な使用法については、php_PHP チュートリアルで説明します。

ヘッダーの詳細な使用法については、php_PHP チュートリアルで説明します。

Jul 21, 2016 pm 03:08 PM
header http php raw s 話し合う 使用法 詳しい説明

header() は、生の HTTP ヘッダーの送信に使用されます。 HTTP ヘッダーの詳細については、HTTP/1.1 仕様を参照してください。 例 1:


コードは次のとおりです。 :

Header("Location: http://www.jb51.net";); exit;//エラーを回避して実行を続行するには、各リダイレクトの後に「exit」を追加する必要があります。
?>





コードをコピーします

コードは次のとおりです:
header("refresh:2;url=http://www.jb51.net"); echo "読み込み中です。お待​​ちください...
自動的に 3 つの にジャンプします秒 Baidu...";
?>


-------------------------------- --------------------------------------

例 2: ページのアクセスを無効にするIE にキャッシュされる
ので、視聴者はプロキシやキャッシュの情報ではなく、毎回最新の情報を取得できます:


コードをコピーします

コードは次のとおりです:
header ( '有効期限: 2009 年 12 月 4 日金曜日 09:00:00 GMT' );header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
header( 'キャッシュ制御: ストアなし、キャッシュなし、再検証する必要があります' );
header( 'キャッシュ制御: ポストチェック = 0、事前チェック = 0'、false );
header( 'プラグマ : いいえ-cache' ); //http1.0 および https
と互換性があります?>



CacheControl = no-cache Pragma=no-cache Expires = -1

サーバー上の Web ページが頻繁に変更される場合は、Expires を設定しますすぐに期限切れになる場合は -1 に設定します。 Web ページが毎日午前 1 時に更新される場合、有効期限を翌日の午前 1 時に設定できます。 HTTP1.1 サーバーが CacheControl = no-cache を指定すると、ブラウザーは Web ページをキャッシュしません。
古い HTTP 1.0 サーバーは Cache-Control ヘッダーを使用できません。したがって、HTTP 1.0 サーバーとの下位互換性のために、IE は Pragma:no-cache ヘッダーを使用して HTTP に対する特別なサポートを提供します。クライアントが安全な接続 (https://) 経由でサーバーと通信し、サーバーが応答で Pragma:no-cache ヘッダーを返す場合、Internet Explorer は応答をキャッシュしません。
注: Pragma:no-cache は、安全な接続で使用される場合にのみキャッシュを防止します。安全でないページで使用された場合、処理は Expires:-1 と同じになりますが、ページはすぐに期限切れとしてマークされます。 http-equiv メタ タグ:
http-equiv メタは、HTML ページ内の指定された http メッセージ ヘッダーをマークするために使用できます。古いバージョンの IE は HTML メタ タグをサポートしていない可能性があるため、http メッセージ ヘッダーを使用してキャッシュを無効にすることをお勧めします。
------------------------------------------------- ----------------------------------

例 3: ユーザーのブラウザに、ファイルを保存できないというメッセージを表示させます。見つけられた。

インターネット上の多くの情報には次のように書かれています: PHP の関数 header() は、header("Status: 404 Not Found") などのステータス ヘッダーをブラウザーに送信できます。しかし、実際にはブラウザから返される応答は次のとおりです:


コードをコピー

コードは次のとおりです:
HTTP/1.x 200 OKDate: Thu, 03 Aug 2006 07:49:11 GMTServer : Apache /2.0.55 (Win32) PHP/5.0.5X-Powered-By: PHP/5.0.5
ステータス: 404 Not Found
Content-Length: 0
Keep-Alive: timeout=15, max=98
Connection : Keep-Alive
Content-Type: text/html


いくつかの情報を確認した後、正しい書き方は次のとおりです:
header("http/1.1 404 Not Found");
最初の部分はバージョンですHTTP プロトコルの (HTTP-Version )、2 番目の部分はステータス コード (Status)、3 番目の部分は理由フレーズ (Reason-Phrase) です。
------------------------------------------------- ----------------------------------
例 4: ユーザーにファイルをダウンロードさせる (隠しファイルの場所)

htmlタグは通常のファイルをダウンロードするために使用できます。ファイルの機密性を保ち、ファイルのリンクを他の人に知らせたくない場合は、ヘッダー関数を使用してファイルをダウンロードできます。


コードをコピーします
コードは次のとおりです:
header("Content-type: application/x-gzip"); header("Content-Disposition:attachment; filename=)ファイル名/" ); header("Content-Description: PHP3 生成データ");
?>


例 4: ヘッダー関数の前にコンテンツを入力する
一般的に、HTML コンテンツはヘッダー関数の前に出力できません。同様の関数には、setcookie() 関数やセッション関数などがあります。これらの関数は、メッセージ ヘッダー情報を出力ストリームに追加する必要があります。 header() が実行される前に echo などのステートメントがある場合、後で header() が発生したときに、「警告: ヘッダー情報を変更できません - ヘッダーは既に .... によって送信されました。」エラーが報告されます。つまり、これらの関数の前にテキスト、空白行、復帰などを含めることはできません。exit() 関数を header() 関数の後に追加するのが最善です。たとえば、次の間違った記述では、2 つの PHP コード スニペットの間に空行があります:
コードをコピーします コードは次のとおりです:

//some code here
?>
/ /ここに空の行があるはずです Line
header("http/1.1 403 Forbidden");
exit();
?>

理由は次のとおりです: PHP スクリプトの実行が開始されると、 http メッセージ ヘッダー (タイトル) 情報と本文情報を同時に送信します。 http メッセージ ヘッダー (header() または SetCookie() 関数から) はすぐには送信されず、代わりにリストに保存されます。ただし、スクリプトがヘッダー以外の出力を送信した後 (たとえば、HTML または print() 呼び出しを使用した場合)、PHP は最初に送信する必要があります。すべてのヘッダーを削除し、HTTP ヘッダーを終了してから、本文の送信を続行します。これ以降、ヘッダー情報を追加または変更する試みは許可されず、上記のエラー メッセージのいずれかが送信されます。
解決策:
キャッシュ (output_buffering) をオンにするように php.ini を変更するか、プログラム内でキャッシュ関数 ob_start()、ob_end_flush() などを使用します。 原則は、output_buffering が有効な場合、スクリプトが出力を送信するときに PHP は HTTP ヘッダーを送信しません。代わりに、この出力を動的に増加するキャッシュにパイプ処理します (集中出力メカニズムを持つ PHP 4.0 でのみ使用可能)。 ヘッダーは実際には送信されないため、ヘッダーを変更/追加したり、Cookie を設定したりすることができます。すべてのスクリプトが終了すると、PHP は自動的に HTTP ヘッダーをブラウザーに送信し、出力バッファーの内容を送信します。
================================================ === ================
PHP マニュアルサンプルアプリケーション
1: heder コマンドを使用して、ブラウザーに新しいコンテンツ (キャッシュなし) を強制的に使用させることができます。
URL に一意の番号を追加して、毎回新しいコンテンツを読み取り、キャッシュを回避することもできます。
例:
コードをコピー コードは次のとおりです:

print "" //通常はread キャッシュされたファイルですか
?>
print "" ; //ブラウザに再リクエストさせるための一意の番号を追加しました
w//print "";
?>

2: 以下は、表示のために画像をブラウザに送信する優れた関数です。
コードをコピーします コードは次のとおりです:

function PE_img_by_path($PE_imgpath = "")
{
if (file_exists($PE_imgpath)) {
$PE_imgarray = path info($PE_imgpath) ;
$iconcontent = file_get_contents($PE_imgpath);
header("Content-type: image/" . $PE_imgarray["extension"]);
header('Content-length: '.strlen($ iconcontent));
echo $iconcontent;
Die(0);
}
return false;
}
?>

// ok
header('HTTP/1.1 200 OK');
// 404 ヘッダーを設定します:
header('HTTP/1.1 404 Not Found');
// 設定されたアドレスは永続的なリダイレクト
header('HTTP/1.1 301 Moved Permanently');
//新しいアドレスに移動
header('Location: http://www.baidu.com');
//ファイル遅延リダイレクト:
header ('Refresh: 10; url=http://www.example.org/');
print '10 秒後にリダイレクトされます';
//もちろん、HTML 構文を使用して実装することもできます
// < meta http-equiv="refresh" content="10;http://www.example.org/ />
// X-Powered-By: PHP:
header('X-Powered-By: PHP/ 4.4.0');
header('X-Powered-By: Brain/0.6b');
//ドキュメント言語
header('Content- language: en');
//ブラウザに最後の言語を伝えます変更時刻
$time = time() - 60; // または filemtime($fn), etc
header('Last-Modified: '.gmdate('D, d M Y H:i:s', $time).' GMT' );
//ドキュメントのコンテンツが変更されていないことをブラウザに伝えます
header('HTTP/1.1 304 Not Modified');
//コンテンツの長さを設定します
header('Content-Length: 1234');
//ダウンロード タイプを 1 つに設定します
header('Content-Type: application/octet-stream');
header('Content-Disposition:attachment; filename="example.zip"'); -エンコーディング: バイナリ' );
// 送信するファイルをロードします:
readfile('example.zip');
// 現在のドキュメントのキャッシュを無効にします
header('Cache-Control: no-cache, no-store 、max-age=0 、must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // 過去の日付
header('Pragma: no-cache') ;
//コンテンツの設定 Type:
header('Content-Type: text/html; charset=iso-8859-1');
header('Content-Type: text/html; charset=utf-8');
header('Content-Type: text/plain'); //プレーンテキスト形式
header('Content-Type: image/jpeg') //JPG 画像
header('Content-Type: application/zip'); ; // ZIP ファイル
header('Content-Type: application/pdf') // PDF ファイル
header('Content-Type: audio/mpeg') // 音声ファイル
header('Content-Type: application); /x-shockwave-flash '); //Flashアニメーション
//ログインダイアログを表示
header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Basic realm="Top Secret"');
print 'ユーザーがキャンセルを押すか、';
print '間違ったログインデータを入力した場合に表示されるテキスト';
?>

http://www.bkjia.com/PHPjc/327496.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/327496.html技術記事 header() は、生の HTTP ヘッダーを送信するために使用されます。HTTP ヘッダーの詳細については、HTTP/1.1 仕様を参照してください。 例 1: 次のようにコードをコピーします。 ?PHP Header("Location: http://...
)
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP データベースの操作 CakePHP データベースの操作 Sep 10, 2024 pm 05:25 PM

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles