PHP 출력 버퍼링은 처리를 위해 입력이 공급될 때마다 출력을 제공하는 동시에 데이터를 보유하도록 PHP 엔진을 승인하는 프로세스입니다. PHP 엔진이 실행을 위해 처리된 데이터를 가져오고 출력을 제공하면 동시에 해당 데이터가 브라우저에 비트 단위로 엔진으로 전송됩니다. 언급한 출력 버퍼링 메커니즘을 실행에 사용하면 데이터가 먼저 변수에 저장된 다음 스크립트의 일부로 브라우저에 전송되므로 데이터 처리 측면에서 효율성과 타당성이 더 높아집니다.
광고 이 카테고리에서 인기 있는 강좌 PHP 개발자 - 전문 분야 | 8개 코스 시리즈 | 3가지 모의고사무료 소프트웨어 개발 과정 시작
웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등
구문:
출력 버퍼링에는 정해진 형식은 없지만 다음과 같이 표현하고 사용할 수 있습니다.
<?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')); ?>