出力バッファリングの有効化

PHPではoutput_bufferingを利用して出力をバッファリングできます。

バッファリング出力を行う場合は、以下の 2 つの方法のいずれかを実行する必要があります。

  1. php.iniファイルにおいてoutput_buffering = Onを設定して、webサーバを再起動する。
  2. コード内では、ini_set(‘output_buffering’, ‘On’);を使用します。

出力バッファリングを使用すると、すべての出力がバッファに格納され、スクリプトが終了するか、バッファの内容が明示的に出力されるまで格納されます。

出力バッファの操作には以下の関数を使用できます。

  1. ob_start() : 出力バッファを開始します。
  2. ob_get_contents():バッファの内容を取得します。
  3. ob_end_flush(): バッファをフラッシュして空にする。
  4. ob_flush(): バッファの内容を出力しますが、バッファをクリアしません。
  5. ob_clean() : バッファの内容をクリアする。
  6. ob_get_length() : バッファの長さ (バイト数) を取得する。

以下はバッファ付き出力を使用する例です。

<?php
// 开启缓冲输出
ob_start();
echo "Hello World!"; // 这里的输出内容将被缓存起来
// 获取缓冲区的内容
$output = ob_get_contents();
// 清空缓冲区
ob_clean();
// 输出缓冲区的内容
echo $output;
// 关闭缓冲输出
ob_end_flush();
?>

この例では、Hello World! がキャッシュされ、ob_get_contents() でバッファの内容を取得し、ob_clean() でバッファを綺麗にして、最後に echo $output でバッファの内容を出力します。最後に、ob_end_flush() でバッファ出力を閉じ、バッファの内容をブラウザに出力します。

bannerAds