ホームページ  >  記事  >  バックエンド開発  >  PHP における ob_start() ob_end_flush() の役割

PHP における ob_start() ob_end_flush() の役割

WBOY
WBOYオリジナル
2016-06-20 13:02:591450ブラウズ

ob_start() ob_end_flush() の役割

PHP4の新機能紹介 -​​ 出力情報制御機能

これらの関数を使用すると、スクリプトの出力内容を制御できます。特に、スクリプトが既に情報を出力した後に新しいファイル ヘッダーを送信する必要がある場合に使用できます。 ) または、setcookie() によって送信されるファイル ヘッダー情報が影響を及ぼし、echo() や PHP コードと同様のデータ ブロックにのみ影響します。

例1.制御出力

  ob_start();

  echo"Hello ";

  setcookie("cookiename","cookiedata");

  ob_end_flush();

上記の例では、ob_end_flush() が呼び出されるまで、echo() を使用した出力コンテンツが出力バッファーに保存されます。これは、setcookie() 呼び出しのコンテンツが問題を引き起こすことなく Cookie に正常に保存されることを意味します。エラー (通常の状況では、データの送信後にファイル ヘッダー情報をユーザーのブラウザに送信することはできません。)

関連関数 header() と setcookie().

機能一覧

出力バッファをフラッシュしますか

出力バッファに保存された内容はブラウザに送信されます

ob_start?出力バッファをオープンします

このようにして、すべての出力情報はブラウザーに直接送信されなくなり、出力バッファーに保存されます

ob_get_contents? 出力バッファの内容を返します

後で出力コンテンツを処理したい場合は、この関数を呼び出してバックアップを保存できます

ob_get_length? 出力バッファのコンテンツの長さを返します

ob_end_flush? 出力バッファの内容を終了(送信)し、出力バッファを閉じます

ob_end_clean? 出力バッファの内容を削除 (破棄) し、出力バッファを閉じます

プログラムが出力コンテンツに問題があることを検出した場合、特定の機密情報の漏洩を防ぐためにすべての出力コンテンツを破棄できます

ob_implicit_flush をオンまたはオフにしますか?

開いた後、各スクリプト出力はブラウザに直接送信され、flush() を呼び出す必要はありません


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