ホームページ >バックエンド開発 >PHPチュートリアル >PHP 出力バッファリング
PHP 出力バッファリングは、入力が処理のために供給されるたびに、出力を提供しながらデータを保持することを PHP エンジンに認識させるプロセスです。 PHP エンジンが出力を提供するために実行する処理済みデータを取得すると、同時にそのデータが断片的にエンジンに送信され、ブラウザに送信されます。前述の出力バッファリング メカニズムが実行に使用される場合、データは最初に変数に格納され、次にスクリプトの一部としてブラウザに送信されるため、データ処理の効率と実現可能性が高まります。
広告 このカテゴリーの人気コース PHP 開発者 - 専門分野 | 8コースシリーズ | 3 つの模擬テスト無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
構文:
出力バッファリングには固定フォーマットはありませんが、次の方法で表現して使用できます:
<?php function to start php_info( ); // processing before giving the output. use variable to assign the final value as an output ?>
PHP の出力バッファリングは、次のような動作の点で非常に重要です。
PHP 出力バッファリングの例について説明します。
このプログラムは、出力に示されているように変数内で定義された値を置き換える、ユーザーによって定義された callback() 関数を示します。
コード:
<!DOCTYPE html> <html> <body> <?php function cll_bck($buff) { return (str_replace("Mobile", "Tabs", $buff)); } ob_start("cll_bck"); ?> <html> <body> <p>Everyone_prefers_Mobile_over_Tabs.</p> </body> </html> <?php ob_end_flush(); ?> </body> </html>
出力:
このプログラムは、出力に示されているように変数を渡しながら、最終エンジンに定義されたコンテンツを取得する ob_get_contents() 関数を示します。
コード:
<!DOCTYPE html> <html> <body> <?php ob_start(); echo "Today_day_is_good. "; $o_t_1 = ob_get_contents(); echo "and_pleasant"; $o_t_2 = ob_get_contents(); ob_end_clean(); var_dump($o_t_1, $o_t_2); ?> </body> </html>
出力:
This program demonstrates the ob_start function where the output buffering gets initiated and then it gets displayed as shown in the output.
Code:
<!DOCTYPE html> <html> <body> <?php ob_start(); echo 'Text written will_get displayed easily.'; ?> </body> </html>
Output:
This program demonstrates the use of text that will get removed once the ob_end_clean function is called as shown in the output.
Code:
<!DOCTYPE html> <html> <body> <?php ob_start(); echo 'Text_written_will_get_removed_easily_using ob_end_clean.'; ob_end_clean(); ?> </body> </html>
Output:
This program demonstrates the ob_list_handlers() function which is used to return an array with the output buffer handler with the list of handlers as shown in the output.
Code:
<!DOCTYPE html> <html> <body> <?php print_r(ob_list_handlers()); ob_end_flush(); ob_start("ob_gz_handler"); print_r(ob_list_handlers()); ob_end_flush(); ob_start(function($str_2) { return $str_2; }); print_r(ob_list_handlers()); ob_end_flush(); ?> </body> </html>
Output:
This program demonstrates the encoding and decoding of all types of possible codes being defined but if in case something is missing, or the browser is getting some value as wrong then it will return the output as shown.
Code:
<!DOCTYPE html> <html> <body> <pre class="brush:php;toolbar:false"> <?php iconv_set_encoding("int_encd", "internal_UTF_8"); iconv_set_encoding("o/p_encd", "ISO-8859-1"); var_dump(iconv_get_encoding('all_encd_types')); ?>