ホームページ バックエンド開発 PHPチュートリアル php_PHP チュートリアルの Header('Location:xxx.php') ジャンプの問題

php_PHP チュートリアルの Header('Location:xxx.php') ジャンプの問題

Jul 13, 2016 am 10:45 AM
header location php 効果 存在する ジャンプ 質問

phpにはヘッダーには多くの機能があります。ここでは、ヘッダーを使用してファイルをジャンプする際の注意点をいくつか紹介します。この記事がすべての友人に幸せをもたらすことを願っています。

Header("Location:login.php") 注意すべきいくつかの問題
header("Location:") は PHP のリダイレクト文として機能します。実は、使用する際には注意しなければならない点がいくつかあります。

1. ヘッダーが必要になる前に出力はありません

しかし、私たちはヘッダーの前に多くのことを出力してきましたが、この時点でヘッダーを再度使用すると、明らかに間違っています。ob の概念は、関連する出力をサーバーに保存することを意味します。今のように 1 つの文を実行して 1 つの文を出力し、ヘッダー ステートメントが見つかった場合にのみエラーを報告するのではなく、適切なタイミングで出力します。

具体的なステートメントは次のとおりです: ob_start(); ob_end_clean();................................


2. header("Location:") の後に終了します

それ以外の場合は、引き続き実行されます。ブラウザ側では対応するデータが表示されませんが、パケット キャプチャ分析を実行すると、次のステートメントも実行されていることがわかります。そして、それはブラウザクライアントに送信されますが、ブラウザによって HTML として実行されるわけではありません (ブラウザはヘッダーを実行し、リダイレクト操作を実行します)。


したがって、標準的な使用方法は次のとおりです:

コードは次のとおりです コードをコピー

ob_start();

......

もし(何か){

ob_end_clean();

header("場所: あなたの場所");

終了;

その他{

......

ob_flush() //省略可能


ヘッダーの前に出力したい場合は、php.ini ファイルを変更できます

output_handler =mb_output_handler

またはoutput_handler =on

出力制御機能を使用すると、スクリプト内のデータの出力を自由に制御できます。特にデータ出力後にファイルヘッダーを出力したい場合に非常に便利です。出力制御関数は、header() または setcookie() を使用して送信されるファイル ヘッダー情報には影響せず、echo() および PHP コードと同様のデータ ブロックにのみ影響します。

1. 関連機能の紹介:

1. フラッシュ: バッファーと出力の内容を更新します。
関数形式: flash()
説明: この関数は頻繁に使用され、非常に効率的です。
2. ob_start: 出力バッファを開きます
関数形式: void ob_start(void)
注: バッファーがアクティブ化されると、PHP プログラムからのファイル以外のヘッダー情報はすべて送信されず、内部バッファーに保存されます。バッファの内容を出力するには、ob_end_flush() または flash() を使用してバッファの内容を出力します。
3. ob_get_contents: 内部バッファの内容を返します。
使用法: string ob_get_contents(void)
説明: この関数は、出力バッファがアクティブ化されていない場合、現在のバッファの内容を返します。FALSE を返します。
4. ob_get_length: 内部バッファの長さを返します。
使用法: int ob_get_length(void)
説明: この関数は、出力バッファがアクティブ化されていない場合、ob_get_contents と同じように現在のバッファの長さを返します。その後、FALSE を返します。
5. ob_end_flush: 内部バッファの内容をブラウザに送信し、出力バッファを閉じます。
使用法: void ob_end_flush(void)
説明: この関数は、出力バッファーの内容 (存在する場合) を送信します。
6. ob_end_clean: 内部バッファの内容を削除し、内部バッファを閉じます
使用法: void ob_end_clean(void)
説明: この関数は内部バッファの内容を出力せず、削除します。
7. ob_implicit_flush: 絶対リフレッシュをオンまたはオフにします
使用法: void ob_implicit_flush ([int flag])
注: Perl を使用したことがある人なら誰でも $|=x の意味を知っています。この文字列はバッファをオープン/クローズできます。デフォルトでは、絶対出力をオンにした後にバッファをクローズします。スクリプト出力 ブラウザに直接送信します。flush() を呼び出す必要はありません

ob_start() は出力バッファリングを開始します。この時点で、PHP は出力を停止します。その後、出力は内部バッファーに転送されます。 ob_get_contents() この関数は、内部バッファーの内容を返します。これは、これらの出力を文字列に変換することと同等です。 ob_get_length() は内部バッファの長さを返します。
ob_end_flush() は出力バッファを終了し、バッファの内容を出力します。これ以降、出力は通常の出力になります。 ob_end_clean() は出力バッファを終了し、バッファの内容を破棄します。
たとえば、var_dump() 関数は変数の構造と内容を出力します。これはデバッグ中に役立ちます。
ただし、変数の内容に < や > などの HTML 特殊文字が含まれている場合、Web ページに出力するときに表示されません。
この問題は、出力バッファ機能を使用すると簡単に解決できます。

コードは次のとおりです

コードをコピーob_start(); var_dump($var); $out = ob_get_contents();
ob_end_clean();




この時点で、var_dump() の出力は既に $out に保存されていますので、今すぐ出力できます:

コードは次のとおりです

コードをコピー
エコー '
' ;

または将来まで待つか、この文字列をテンプレート (Template) に送信してから出力します。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/633055.html技術記事 PHP にはヘッダーには多くの機能があります。ここではヘッダーを使用してファイルをジャンプする際の注意点を紹介します。この記事がすべての友人に幸せをもたらすことを願っています。 header(場所...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

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:28 PM

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

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

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

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

See all articles