ob 시리즈 함수 출력 캐시 사용법에 대한 자세한 설명
ob, 출력 버퍼는 출력 캐시가 아닌 출력 버퍼링의 약어입니다. ob를 올바르게 사용하면 어느 정도 속도에 도움이 될 수 있지만, ob 기능을 무턱대고 추가하면 CPU에 추가 부담만 가중될 뿐입니다. ob의 기본 원리: ob 캐시를 켜면 에코 데이터가 뜹니다. 먼저 ob 캐시에 배치됩니다. 헤더 정보인 경우 프로그램 캐시에 직접 배치됩니다. 페이지가 끝까지 실행되면 ob 캐시된 데이터가 프로그램 캐시에 저장되었다가 차례로 브라우저로 반환됩니다.
ob의 기본 기능에 대해 이야기해 보겠습니다.
1) 브라우저 출력 후 헤더 파일을 보내기 위해 setcookie(), header() 또는 session_start()와 같은 함수를 사용하여 발생하는 오류를 방지합니다. 실제로 이런 종류의 사용법을 덜 자주 사용하고 좋은 코딩 습관을 기르는 것이 더 좋습니다.
2) 일부 얻을 수 없는 함수의 출력을 캡처합니다. 예를 들어 phpinfo()는 많은 HTML을 출력하지만 현재로서는 $info=phpinfo()와 같은 변수를 사용하여 캡처할 수 없습니다. 유용한. 3) gzip 압축, 중국어 간체와 번체 간 변환, 일부 문자열 교체 등 출력 콘텐츠를 처리합니다.
4) 정적 파일 생성은 실제로 전체 페이지의 출력을 캡처한 다음 파일로 저장하는 것입니다. HTML 생성이나 전체 페이지 캐싱에 자주 사용됩니다.
방금 언급한 세 번째 항목에서 언급한 GZIP 압축과 관련하여 많은 사람들이 사용하고 싶어도 실제로 사용하지 않았을 수 있습니다. 실제로 코드를 약간만 수정하면 페이지의 gzip 압축을 얻을 수 있습니다.
ob_start(ob_gzhandler); 要缓存的内容
예, 콜백 함수 ob_gzhandler만 추가하면 되지만 여기에는 몇 가지 사소한 문제가 있습니다. 첫째, zlib 지원이 필요하고, 둘째, 브라우저가 gzip을 지원하는지 여부를 확인하지 않습니다(지금은 지원하는 것 같지만, 아이폰 브라우저가 지원하는 것 같습니다) 지원). 이전 접근 방식은 브라우저가 gzip을 지원하는지 확인한 다음 타사 gzip 기능을 사용하여
ob_get_contents
()의 콘텐츠를 압축하고 마지막으로 에코하는 것이었습니다.
ob_start(); //출력 버퍼를 엽니다. 모든 출력 정보는 더 이상 브라우저로 직접 전송되지 않고 출력 버퍼에 저장됩니다.
ob_clean(); //버퍼를 닫지 않고(출력 없음) 내부 버퍼의 내용을 삭제합니다.
ob_end_clean(); //내부 버퍼의 내용을 삭제하고 버퍼를 닫습니다(출력 없음).ob_get_clean(); //내부 버퍼의 내용을 반환하고 버퍼를 닫습니다. ob_get_contents() 및 ob_end_clean()
ob_flush()를 실행하는 것과 동일합니다. //내부 버퍼의 내용을 브라우저로 보내고, 버퍼의 내용을 삭제하고, 버퍼를 닫지 않습니다.
ob_end_flush(); //내부 버퍼의 내용을 브라우저로 보내고 버퍼의 내용을 삭제한 후 버퍼를 닫습니다.
ob_get_flush(); //내부 버퍼의 내용을 반환하고 버퍼를 닫은 다음 버퍼의 내용을 해제합니다. ob_end_flush()와 동일하며 버퍼 내용을 반환합니다.
flush(); //ob_flush에 의해 릴리스된 콘텐츠와 PHP 버퍼에 없는 콘텐츠를 브라우저에 출력합니다. 내부 버퍼의 콘텐츠를 새로 고쳐서 출력합니다.
ob_get_contents(); //출력 없이 버퍼의 내용을 반환합니다.
ob_get_length
(); //내부 버퍼의 길이를 반환합니다. 버퍼가 활성화되지 않은 경우 이 함수는 FALSE를 반환합니다. ob_get_level(); //출력 버퍼링 메커니즘의 중첩 수준을 반환합니다.ob_get_status(); ob_implicit_flush(true)를 연 후 소위 절대 새로 고침은 출력 문(예: echo)이 실행될 때 출력은 플러시()를 호출하거나 출력을 위해 스크립트가 끝날 때까지 기다릴 필요 없이 브라우저로 직접 전송됩니다.
ob_gzhandler //ob_start 콜백 함수, gzip을 사용하여 버퍼 내용을 압축합니다.
2、ob_* 系列函数是操作PHP本身的输出缓冲区,所以ob_flush只刷新PHP自身的缓冲区,而flush是刷新apache的缓冲区。所以,正确使用俩者的顺序是:先ob_flush,然后flush。ob_flush是把数据从PHP的缓冲中释放出来,flush是把缓冲内/外的数据全部发送到浏览器。
3、不要误认为用了ob_start()后,脚本的echo/print等输出就永远不会显示在浏览器上了。因为PHP脚本运行结束后,会自动刷新缓冲区并输出内容。
위 내용은 ob 시리즈 함수 출력 캐시 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Go 언어는 클로저와 리플렉션이라는 두 가지 동적 함수 생성 기술을 제공합니다. 클로저는 클로저 범위 내의 변수에 대한 액세스를 허용하며 리플렉션은 FuncOf 함수를 사용하여 새 함수를 생성할 수 있습니다. 이러한 기술은 HTTP 라우터를 사용자 정의하고 고도로 사용자 정의 가능한 시스템을 구현하며 플러그 가능한 구성 요소를 구축하는 데 유용합니다.

C++ 함수 이름 지정에서는 가독성을 높이고 오류를 줄이며 리팩토링을 용이하게 하기 위해 매개변수 순서를 고려하는 것이 중요합니다. 일반적인 매개변수 순서 규칙에는 작업-객체, 개체-작업, 의미론적 의미 및 표준 라이브러리 준수가 포함됩니다. 최적의 순서는 함수의 목적, 매개변수 유형, 잠재적인 혼동 및 언어 규칙에 따라 달라집니다.

샤오미 Mi 15 시리즈는 10월 정식 출시될 예정이며, 전체 시리즈 코드명이 외신 MiCode 코드베이스에 노출됐다. 그중 주력 제품인 샤오미 미 15 울트라의 코드명은 '쉬안위안(Xuanyuan)'('쉬안위안(Xuanyuan)'이라는 뜻)이다. 이 이름은 중국 신화 속 황제(Yellow Emperor)에서 유래한 것으로 귀족을 상징한다. Xiaomi 15의 코드명은 "Dada"이고, Xiaomi 15Pro의 이름은 "Haotian"("Haotian"을 의미)입니다. Xiaomi Mi 15S Pro의 내부 코드명은 "dijun"으로, "산과 바다의 고전"의 창조신인 Jun 황제를 암시합니다. Xiaomi 15Ultra 시리즈 커버

효율적이고 유지 관리 가능한 Java 함수를 작성하는 핵심은 단순함을 유지하는 것입니다. 의미 있는 이름을 사용하세요. 특별한 상황을 처리합니다. 적절한 가시성을 사용하십시오.

1. SUM 함수는 열이나 셀 그룹의 숫자를 합하는 데 사용됩니다(예: =SUM(A1:J10)). 2. AVERAGE 함수는 열이나 셀 그룹에 있는 숫자의 평균을 계산하는 데 사용됩니다(예: =AVERAGE(A1:A10)). 3. COUNT 함수, 열이나 셀 그룹의 숫자나 텍스트 수를 세는 데 사용됩니다. 예: =COUNT(A1:A10) 4. IF 함수, 지정된 조건을 기반으로 논리적 판단을 내리고 결과를 반환하는 데 사용됩니다. 해당 결과.

PHP 개발에서 캐싱 메커니즘은 자주 액세스하는 데이터를 메모리나 디스크에 임시 저장하여 데이터베이스 액세스 횟수를 줄여 성능을 향상시킵니다. 캐시 유형에는 주로 메모리, 파일 및 데이터베이스 캐시가 포함됩니다. 캐싱은 내장 함수나 캐시_get() 및 Memcache와 같은 타사 라이브러리를 사용하여 PHP에서 구현할 수 있습니다. 일반적인 실제 응용 프로그램에는 쿼리 성능을 최적화하기 위한 데이터베이스 쿼리 결과 캐싱과 렌더링 속도를 높이기 위한 페이지 출력 캐싱이 포함됩니다. 캐싱 메커니즘은 웹사이트 응답 속도를 효과적으로 향상시키고, 사용자 경험을 향상시키며, 서버 부하를 줄입니다.

지난해 화웨이 메이트60 시리즈가 출시된 이후 개인적으로는 메이트60프로를 메인폰으로 사용해오고 있다. 거의 1년 동안 Huawei Mate60Pro는 여러 번의 OTA 업그레이드를 거쳤으며 전반적인 경험이 크게 개선되어 사람들에게 끊임없이 새로운 느낌을 줍니다. 예를 들어, 최근 Huawei Mate60 시리즈는 이미징 기능이 다시 한 번 크게 업그레이드되었습니다. 첫 번째는 행인과 잔해를 지능적으로 제거하고 빈 영역을 자동으로 채울 수 있는 새로운 AI 제거 기능입니다. 두 번째로 메인 카메라의 색상 정확도와 망원 선명도가 크게 업그레이드되었습니다. 개학 시즌을 고려하여 Huawei Mate60 시리즈도 가을 프로모션을 시작했습니다. 휴대폰 구매 시 최대 800위안 할인 혜택을 누릴 수 있으며, 시작 가격은 최저 4,999위안입니다. 일반적으로 사용되며 종종 가치가 높은 새로운 제품

C++의 예외 처리는 특정 오류 메시지, 상황별 정보를 제공하고 오류 유형에 따라 사용자 지정 작업을 수행하는 사용자 지정 예외 클래스를 통해 향상될 수 있습니다. 특정 오류 정보를 제공하려면 std::Exception에서 상속된 예외 클래스를 정의하세요. 사용자 정의 예외를 발생시키려면 throw 키워드를 사용하십시오. try-catch 블록에서 Dynamic_cast를 사용하여 발견된 예외를 사용자 지정 예외 유형으로 변환합니다. 실제 경우 open_file 함수는 FileNotFoundException 예외를 발생시킵니다. 예외를 포착하고 처리하면 보다 구체적인 오류 메시지가 제공될 수 있습니다.
