ヘッダーの詳細な使用法については、php_PHP チュートリアルで説明します。
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...";
?>自動的に 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 は応答をキャッシュしません。 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 ページをキャッシュしません。
注: 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 FoundContent-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: ユーザーにファイルをダウンロードさせる (隠しファイルの場所)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) です。
------------------------------------------------- ----------------------------------
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 "

?>
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 '間違ったログインデータを入力した場合に表示されるテキスト';
?>
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
2週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
1 か月前
By DDD
R.E.P.O.最高のグラフィック設定
2週間前
By 尊渡假赌尊渡假赌尊渡假赌
アサシンのクリードシャドウズ:シーシェルリドルソリューション
1週間前
By DDD
R.E.P.O.誰も聞こえない場合はオーディオを修正する方法
2週間前
By 尊渡假赌尊渡假赌尊渡假赌

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック

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

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

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

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