ホームページ >バックエンド開発 >PHPチュートリアル >php関数数ob_start()、ob_end_clean()、ob_get_contents()

php関数数ob_start()、ob_end_clean()、ob_get_contents()

WBOY
WBOYオリジナル
2016-06-20 12:59:441036ブラウズ

次の 3 つの関数の使用法

ob_get_contents() - 出力バッファの内容を返します

ob_flush() - 出力バッファの内容をフラッシュ (送信)します

ob_clean() - 出力バッファをクリア (消去)

ob_end_flush() - 出力バッファの内容をフラッシュ (送信) し、バッファを閉じます

ob_end_clean() - クリア(erase) ) バッファーを作成し、出力バッファーを閉じます

flush() - 出力バッファーをフラッシュします

通常、ob_flush();flush() は一緒に使用されます
ob_start( ) を使用すると、出力がブラウザではなくバッファに出力されます。
次に、ob_get_contents を使用してバッファ データを取得します。

ob_start() は、すべての出力を保持するためにサーバー上のバッファを開きます。そのため、echo が使用されるたびに、プログラムが終了するか、ob_flush() を使用して終了されるまで、出力はバッファーに追加されます。次に、サーバー内のバッファの内容がブラウザに送信され、ブラウザによって解析されて表示されます。

関数 ob_end_clean はバッファの内容をクリアしてバッファを閉じますが、内容は出力しません。
現時点では、関数 ob_get_contents() を ob_end_clean() の前で使用して、バッファの内容を取得する必要があります。
この場合、ob_end_clean()を実行する前に内容を変数に保存し、ob_end_clean()の後にその変数を操作することができます。

例:

ob_start();

echo "Hello ";

$out1 = ob_get_contents( );

echo "World";

$out2 = ob_get_contents();

ob_end_clean();

var_dump($out1, $out2) ;

?>

出力:

string(6) "Hello "string(11) "Hello World"


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