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

PHP 関数 ob_start()、ob_end_clean()、ob_get_contents()_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:14:04763ブラウズ

この記事では PHP 関数 ob_start()、ob_end_clean()、および ob_get_contents() を紹介しています。必要な方は参照してください。

以下の3つの機能の使い方

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


ob_get_contents

(PHP 4、PHP 5)

ob_g​​et_contents — 出力バッファーの内容を返します
説明
文字列 ob_get_contents (無効)

出力バッファの内容を取得するだけで、クリアしないでください。
戻り値

この関数は出力バッファの内容を返します。出力バッファが無効な場合は FALSE を返します。

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

例 #1 単純な ob_get_contents() の例

ob_start();

エコー「こんにちは」;

$out1 = ob_get_contents();

「世界」をエコー;

$out2 = ob_get_contents();

ob_end_clean();

var_dump($out1, $out2);
?>

上記のルーチンは次のように出力します:

string(6) "こんにちは"
string(11) 「ハローワールド」

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

ob_flush

(PHP 4 >= 4.2.0、PHP 5)

ob_flush — 出力バッファーの内容をフラッシュ (送信) します
説明
void ob_flush (void)

この関数は、バッファーの内容を送信します (バッファーに内容がある場合)。バッファの内容をさらに処理したい場合は、ob_flush() を呼び出した後にバッファの内容が破棄されるため、ob_flush() の前に ob_get_contents() を呼び出す必要があります。

この関数は出力バッファを破壊しませんが、ob_end_flush() のような関数はバッファを破壊します。
戻り値

戻り値はありません。


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


ob_clean

(PHP 4 >= 4.2.0、PHP 5)

ob_clean — 出力バッファをクリア(消去)します
説明
void ob_clean ( void )

この関数は、出力バッファの内容を破棄するために使用されます。

この関数は出力バッファを破壊しませんが、ob_end_clean() のような関数は出力バッファを破壊します。
戻り値

戻り値はありません。

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


ob_end_flush — 出力バッファの内容をフラッシュして (送信して) バッファを閉じます
説明
bool ob_end_flush (void)

この関数は、トップレベルのバッファーの内容を送信し (コンテンツがある場合)、バッファーを閉じます。バッファの内容をさらに処理したい場合は、ob_end_flush() を呼び出した後にバッファの内容が破棄されるため、ob_end_flush() の前に ob_get_contents() を呼び出す必要があります。

注: この関数は ob_get_flush() と似ていますが、ob_get_flush() はバッファーの内容を文字列として返す点が異なります。

戻り値

成功した場合は TRUE を返し、失敗した場合は FALSE を返します。エラーの理由は、まず、呼び出し時に機能しているバッファがないか、何らかの理由でバッファを削除できないことです (おそらく特殊なバッファのため)。 。
エラー/例外

関数が失敗すると、E_NOTICE 例外が発生します。
更新ログ

バージョンの説明
4.2.0 ブール値の戻り値を追加しました。

例 #1 ob_end_flush() の例

次の例は、バッファーの内容を出力し、すべての出力バッファーを閉じる簡単な方法を示しています。

コードは次のとおりですコードをコピー while (@ob_end_flush());
?>

ob_end_clean() - バッファをクリア (消去) し、出力バッファリングを閉じる

ob_end_clean — バッファをクリア(消去)し、出力バッファリングを閉じる
説明
bool ob_end_clean (void)

この関数は、最上位の出力バッファの内容を破棄し、このバッファを閉じます。バッファの内容をさらに処理したい場合は、ob_end_clean() を呼び出すとバッファの内容が破棄されるため、ob_end_clean() の前に ob_get_contents() を呼び出す必要があります。
戻り値

成功した場合は TRUE を返し、失敗した場合は FALSE を返します。エラーの理由は、まず、呼び出し時に機能しているバッファがないか、何らかの理由でバッファを削除できないことです (おそらく特殊なバッファのため)。 。
エラー/例外

関数が失敗すると、E_NOTICE 例外が発生します。
更新ログ

バージョンの説明
4.2.0 ブール値の戻り値を追加しました。

次の例は、すべての出力バッファを削除する方法を示しています。

コードは次のとおりですコードをコピー
例 #1 ob_end_clean() の例

ob_start();
echo '表示されないテキスト';
ob_end_clean();
?>

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()の後にその変数を操作することができます。

http://www.bkjia.com/PHPjc/629067.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/629067.html技術記事この記事では、PHP 関数 ob_start()、ob_end_clean()、および ob_get_contents() を紹介しています。必要な場合は、これらを参照してください。 次の 3 つの関数の使用法 ob_get_contents() - 出力バッファの内容を返します...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。