ホームページ >バックエンド開発 >PHPチュートリアル >PHP 関数 ob_start()、ob_end_clean()、ob_get_contents()_PHP チュートリアル
この記事では PHP 関数 ob_start()、ob_end_clean()、および ob_get_contents() を紹介しています。必要な方は参照してください。
以下の3つの機能の使い方
ob_get_contents() - 出力バッファの内容を返します
ob_get_contents
(PHP 4、PHP 5)
ob_get_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) "こんにちは"
|
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() の例
次の例は、バッファーの内容を出力し、すべての出力バッファーを閉じる簡単な方法を示しています。
コードをコピー | |
コードをコピー | |
例 #1 ob_end_clean() の例
ob_start(); |
通常はob_flush();flush()を一緒に使用します
ob_start() を使用して、ブラウザではなくバッファに出力を送信します。
次に、ob_get_contents を使用してバッファ データを取得します。
関数 ob_end_clean はバッファの内容をクリアしてバッファを閉じますが、内容は出力しません。
このとき、関数 ob_get_contents() を ob_end_clean() の前で使用して、バッファの内容を取得する必要があります。
この場合、ob_end_clean()の実行前に内容を変数に保存し、ob_end_clean()の後にその変数を操作することができます。