概要説明
Noticeなので特に対応はしなくても問題はないのですが気になるという方のためのカスタマイズ。ob_end_flush()を使用する際には対象となるデータの存在確認を行うことでNotice表示の対応が行なえます。
削除・フラッシュするバッファがないことが原因
// 出力のバッファがあるかを確かめてから使う(中身が空のバッファも閉じる)
if ( ob_get_level() > 0 ) {
ob_end_flush();
}
ob_get_length() は、バッファがあっても中身が空なら 0 を返すので、空のバッファが閉じられずに残ります。バッファがあるかどうかは ob_get_level() で確かめます。ただし、ほかのプラグインやサーバーの設定(output_buffering)が開いたバッファも数えるので、ob_start() と ob_end_flush() は同じ処理の中で組にして使うのがいちばん確実です。


