>  기사  >  백엔드 개발  >  PHP에서 ob_start() 함수를 사용하여 출력 버퍼링을 활성화하는 방법은 무엇입니까? (코드 예)

PHP에서 ob_start() 함수를 사용하여 출력 버퍼링을 활성화하는 방법은 무엇입니까? (코드 예)

青灯夜游
青灯夜游원래의
2019-03-09 11:05:503455검색

PHP에서는 ob_start() 함수를 사용하여 출력 버퍼링을 활성화할 수 있습니다. 다음 글에서는 ob_start() 함수 사용 방법에 대해 간략하게 설명하겠습니다. [동영상 튜토리얼 추천: PHP Tutorial]

PHP에서 ob_start() 함수를 사용하여 출력 버퍼링을 활성화하는 방법은 무엇입니까? (코드 예)

PHP는 해석된 언어로 각 명령문이 차례로 실행되므로 PHP는 HTML을 블록 형태로 브라우저에 보내는 경향이 있어 성능이 저하됩니다. 출력 버퍼링을 사용하면 모든 출력 정보가 ​​더 이상 브라우저로 직접 전송되지 않고 출력 버퍼나 문자열 변수에 저장되며 PHP 스크립트의 마지막 명령문이 실행될 때까지 버퍼의 내용이 브라우저로 전송되지 않습니다. 브라우저는 렌더링 및 표시를 수행합니다.

그러나 출력 버퍼링은 기본적으로 활성화되어 있지 않습니다. 출력 버퍼링을 활성화하려면 스크립트에서 HTML 콘텐츠를 다시 보내기 전에 ob_start() 함수를 사용해야 합니다.

기본 구문:

ob_start ()

매개변수: ob_start() 함수는 아래와 같이 여러 선택적 매개변수를 허용할 수 있습니다.

● 콜백 함수: 이것은 선택적 매개변수이며 내용을 가져오는 함수가 필요합니다. 출력 버퍼의 내용을 전달하고 렌더링을 위해 브라우저로 전송될 문자열을 반환합니다. 콜백 함수는 HTML 콘텐츠를 압축하는 데 자주 사용됩니다.

● 청크 크기: 제공된 크기의 출력 버퍼 크기를 설정하고 버퍼가 가득 차거나 초과되면 즉시 출력하는 또 다른 선택적 매개 변수입니다.

● 플래그: 출력 버퍼에서 구현할 수 있는 작업을 제어하기 위해 비트마스크를 허용하는 또 다른 선택적 매개변수입니다. 액세스를 제한하려면 이 매개변수를 전달하세요. 기본 권한은 버퍼 정리, 플러시 및 삭제에 대한 액세스를 허용합니다.

반환 유형: ob_start() 함수는 성공하면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다.

코드 예:

<?php 
header("content-type:text/html;charset=utf-8");
function callback($buffer){
//返回缓冲区内的所有东西
    return (strtoupper($buffer.",javascript,html,css!")); 
} 
  
ob_start("callback"); 
echo "Hello php"; 
ob_end_flush(); 
  
?>

출력:

PHP에서 ob_start() 함수를 사용하여 출력 버퍼링을 활성화하는 방법은 무엇입니까? (코드 예)

지침:

●버퍼를 사용하려면 먼저 버퍼를 시작해야 합니다.

● 출력 버퍼 플래그는 4가지 유형이 될 수 있습니다:

 1. PHP_OUTPUT_HANDLER_CLEANABLE(청소만)

 2. PHP_OUTPUT_HANDLER_FLUSHABLE(플러시만)

 3. PHP_OUTPUT_HANDLER_REMOVABLE(제거만)

 4. PHP_OUT PUT_HANDLER_STDFLAGS(모든 작업 허용 ).

● 출력 버퍼는 스택 가능하므로 중첩된 ob_start() 메서드가 허용되며 순차적으로 닫히거나 플러시되는 경우 원하는 대로 작동합니다.

●ob_end_flush() 함수는 출력 버퍼의 내용을 종료(전송)한 후 출력 버퍼를 닫는 데 사용됩니다.

위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 관련 튜토리얼 열을 주의 깊게 살펴보세요! ! !

위 내용은 PHP에서 ob_start() 함수를 사용하여 출력 버퍼링을 활성화하는 방법은 무엇입니까? (코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.