PHPで出力をクリアする方法

藏色散人
リリース: 2023-03-03 11:50:02
オリジナル
3212 人が閲覧しました

php メソッドで出力をクリアします。最初に「ob_start();」関数を使用してバッファを開き、次に「ob_clean();」を使用してバッファの内容をクリアし、最後に「ob_end_flush()」を使用します。 ;" 関数 バッファの内容を出力し、バッファリングをオフにするだけです。

PHPで出力をクリアする方法

推奨: 「PHP チュートリアル

php は ob_start() を使用して出力と選択的な出力をクリアしますMethod

1. Background

コードがありますが、カプセル化されたメソッドを呼び出すため、必要のない戻り値がいくつか発生します。これらの戻り値を非表示にするためにどのように対処するか。変数をクリアしたほうが良いのではないかと言う人もいるでしょう。しかし、この戻り値をクリアできない場合はどうなるでしょうか?

2. ob_start()

1. 概念:

この関数は出力バッファを開きます。出力バッファリングがアクティブ化されている場合、スクリプトはコンテンツ (http ヘッダーを除く) を出力せず、代わりに出力されるコンテンツは内部バッファーに保存されます。

内部バッファの内容は、ob_get_contents() 関数を使用して文字列変数にコピーできます。内部バッファに格納されている内容を出力するには、ob_end_flush() 関数を使用します。さらに、ob_end_clean() 関数を使用すると、バッファの内容が黙って破棄されます。

php マニュアルより: http://php.net/manual/zh/function.ob-start.php

2.buffer

//打开缓冲区
ob_start();
//清除缓冲区中的内容
ob_clean();
//冲刷出(送出)输出缓冲区内容并关闭缓冲
ob_end_flush();
ログイン後にコピー

3 の基本的な使用法、基本テスト

1、

echo '1';
ob_start();
echo '2';
ob_clean();
ログイン後にコピー

結果: 1

説明: これは最も単純な使用法です。つまり、ob_start() を外部の不要な場所に追加します。コンテンツを出力します。; そしてバッファの内容をクリアすることで、使用シナリオが実現されます。出力したいものを選択して出力できます。アウトプットしたくないものは捨てましょう。

2、

echo '1';
ob_start();
echo '2';
//输出缓冲区
ob_end_flush();
ログイン後にコピー

結果: 12

3、

//打开缓冲区
ob_start();
echo '1';
//清除缓冲区,此时不会输出1
ob_clean();
//输出缓冲区。但是因为上面已经清除过缓冲区了,所以不会输出 1
ob_end_flush();
echo '2';
ログイン後にコピー

結果: 2

4、

ob_start(); //打开缓冲区
echo '1'; 
$a = ob_get_contents(); //输出缓冲区内容到$a,相当于赋值给$a
ob_clean();   //这里清除缓冲区内容
echo '2';    //输出2
echo $a;    //输出$a
ログイン後にコピー

結果: 2 1

説明: ob_get_contents(); ここではバッファの内容を取得します。取得した内容を変数に代入できるので、バッファをクリアして変数を出力しても正常に1を出力できます。

4. 一般的に使用される場所

この関数は、ページの静的化によく使用されます。マイクロ Web フレームワークの構築において重要な役割を果たします。レンダリングされたページは、入力キャッシュを通じて直接書き込まれます。ファイルに保存します。これにより、ファイルが存在するかどうかを判断できます。ユーザーがこの訪問中にページを再レンダリングする必要があるかどうかは、大規模なプロジェクトにも適用できます。レンダリングされたページの保存には NoSQL が使用されます。使用方法は人によって異なりますので、お好みの方法を見つけてください。

上記は私自身が行った簡単なテストです。必要に応じて、PHP マニュアルを参照して、さらにテストを実行できます。

以上がPHPで出力をクリアする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート