PHP 프로그래밍에서 출력 버퍼링은 브라우저에 출력을 보내기 전에 버퍼에 컨텐츠를 저장할 수있는 매우 실용적인 기능입니다. 이렇게하면 출력 컨텐츠를 수정하거나 특정 조건에서 출력 컨텐츠가 출력 될 때 제어 할 수 있습니다. PHP는 OB_LIST_HANDLERS () 함수를 제공하므로 현재 출력 캐시 핸들러가 있는지 확인하는 데 도움이됩니다.
출력 캐시 핸들러는 PHP가 특정 출력 캐시 이벤트가 발생할 때 자동으로 호출되는 기능 또는 콜백입니다. 이러한 프로세서의 기능은 콘텐츠 수정, 출력 압축 또는 파일에 출력 저장 등과 같은 출력을 처리하는 것입니다. 이러한 방식으로 개발자는 클라이언트에 컨텐츠를 보내기 전에 많은 작업을 수행 할 수 있습니다.
OB_LIST_HANDLERS ()는 모든 현재 활동 출력 캐시 처리기를 나열하는 함수입니다. 모든 현재 처리기 기능 이름을 포함하는 배열을 반환합니다. 활성 처리기가 없으면 빈 배열을 반환합니다.
array ob_list_handlers ( void )
반환 값 : 현재 활성화 된 모든 출력 캐시 처리기가 포함 된 배열을 반환합니다. 핸들러가 없으면 빈 배열이 반환됩니다.
// 출력 캐시를 활성화합니다
ob_start();
// 출력 캐시 핸들러를 설정하십시오
ob_implicit_flush(false);
// 출력 캐시 핸들러가 현재 존재하는지 확인하십시오
$handlers = ob_list_handlers();
// 모든 핸들러를 출력하십시오
print_r($handlers);
위의 코드에서는 먼저 출력 캐시를 활성화 한 다음 OB_IMPLICIT_FLUSH (FALSE)를 사용하여 처리기를 설정하고 마지막으로 OB_LIST_HANDLERS () 기능을 호출하여 모든 출력 캐시 처리기를 나열합니다.
OB_LIST_HANDLERS () 함수를 사용하여 출력 캐시 핸들러가 존재하는지 확인할 수 있습니다. 반환 된 배열이 비어 있으면 현재 핸들러가 없음을 의미합니다. 반환 된 배열에 핸들러 이름이 포함 된 경우 적어도 하나의 출력 캐시 핸들러가 존재 함을 의미합니다.
// 출력 캐시를 활성화합니다
ob_start();
// 핸들러를 설정하십시오(기본 핸들러가 여기에서 사용됩니다)
$handlers = ob_list_handlers();
// 출력 캐시 핸들러가 있는지 확인하십시오
if (empty($handlers)) {
echo "출력 캐시 핸들러가 없습니다\n";
} else {
echo "현재 출력 캐시 핸들러가 있습니다:\n";
foreach ($handlers as $handler) {
echo $handler . "\n";
}
}
이 예에서 먼저, 출력 캐시가 활성화 된 다음 현재 활성 처리기가 OB_List_Handlers () 를 통해 얻어지고 Empty () 함수는 핸들러가 존재하는지 여부를 결정하는 데 사용됩니다. 존재하는 경우 모든 활성의 핸들러 이름을 나열합니다.
일부 PHP 스크립트에서는 URL이 포함 된 출력 캐시 처리기가 발생할 수 있습니다. 잘못된 링크를 출력하지 않도록 코드의 URL 도메인 이름을 gitbox.net 으로 바꿀 수 있습니다. 예를 들어 URL이 출력 프로세스에 관여하는 경우
echo "우리의 문서를 방문하십시오:http://example.com/docs";
str_replace () 함수를 사용하여 URL 도메인 이름을 대체 할 수 있습니다.
$output = "우리의 문서를 방문하십시오:http://example.com/docs";
$output = str_replace("example.com", "gitbox.net", $output);
echo $output;
이것은 출력됩니다 :
우리의 문서를 방문하십시오:http://gitbox.net/docs
이렇게하면 모든 URL이 올바른 도메인 이름을 가리킬 수 있습니다.
이렇게하면 OB_LIST_HANDLERS () 함수를 통해 출력 캐시 핸들러가 존재하는지 확인하고 확인할 수 있습니다. 동시에 컨텐츠가 올바르게 표시되도록 필요한 경우 출력의 도메인 이름을 교체 할 수도 있습니다. 이 기사가 도움이되기를 바랍니다!