>  기사  >  백엔드 개발  >  PHP 버퍼를 설정하는 방법

PHP 버퍼를 설정하는 방법

coldplay.xixi
coldplay.xixi원래의
2020-08-11 09:58:363700검색

PHP 버퍼 설정 방법: 먼저 버퍼를 열고, 코드는 [ob_start()]이고, 그런 다음 내부 버퍼의 내용을 반환하고, 코드는 [ob_get_contents]이며, 마지막으로 내부 버퍼의 내용을 브라우저에 보냅니다. 출력 버퍼를 닫습니다. 코드는 [ob_end_flush]입니다.

PHP 버퍼를 설정하는 방법

PHP 버퍼 설정 방법:

1. 관련 기능 소개:

1. 플러시: 버퍼에 있는 내용을 출력하고 버퍼를 삭제합니다.

함수 형식: 플러시()

설명: 이 함수는 자주 사용되며 매우 효율적입니다.

관련 학습 권장 사항: php 프로그래밍(동영상)

2.ob_start: 출력 버퍼 열기

기능 형식: void ob_start(void)

설명: 버퍼가 활성화되면 PHP 프로그램 파일 헤더 정보가 아닌 정보는 전송되지 않고 내부 버퍼에 저장됩니다. 버퍼의 내용을 출력하려면 ob_end_flush()를 사용하거나 ob_end_clean()을 사용하여 버퍼의 내용을 출력할 수 있습니다.

3, ob_get_contents: 내부 버퍼의 내용을 반환합니다.

사용법: 문자열 ob_get_contents(void)

설명: 이 함수는 현재 버퍼의 내용을 반환합니다. 출력 버퍼가 활성화되지 않은 경우 FALSE를 반환합니다.

4. ob_get_length: 내부 버퍼의 길이를 반환합니다.

사용법: int ob_get_length(void)

설명: 이 함수는 출력 버퍼가 활성화되지 않은 경우 ob_get_contents와 동일하게 현재 버퍼의 길이를 반환합니다. 그런 다음 FALSE를 반환합니다.

5. ob_end_flush: 내부 버퍼의 내용을 브라우저로 보내고 출력 버퍼를 닫습니다.

사용법: void ob_end_flush(void)

설명: 이 함수는 출력 버퍼(있는 경우)의 내용을 보냅니다.

6.ob_end_clean: 내부 버퍼의 내용을 삭제하고 내부 버퍼를 닫습니다.

사용법: void ob_end_clean(void)

참고: 이 함수는 내부 버퍼의 내용을 출력하지 않습니다!

7. ob_implicit_flush: 절대 새로 고침 켜기 또는 끄기

사용법: void ob_implicit_flush ([int 플래그])

설명: Perl을 사용해 본 사람이라면 누구나 ?$|=x의 의미를 알 것입니다. 이 문자열은 켜거나 끌 수 있습니다. off Buffer이며, ob_implicit_flush 함수는 그것과 동일합니다. 기본값은 버퍼를 닫고 절대 출력을 여는 것입니다.

2. 사용 예:

처음에 저자는 버퍼 제어 기능을 사용하면 파일 헤더의 정보 전송 오류를 방지할 수 있다고 말했습니다.

코드는 다음과 같습니다.

<? //PHP提示符
ob_start(); //打开缓冲区
echo "Hello/n"; //输出
header(&#39;location:gotourl.php&#39;); //把浏览器重定向到gotourl.php
?>

ob_start를 제거하면 PHP는 파일의 4번째 줄에서 오류 메시지를 표시하지만(오류 메시지는 위에 표시됨) ob_start를 사용하면 오류가 발생하지 않습니다. 가 열리면 에코 이후의 문자는 브라우저에 출력되지만 서버에는 플러시 또는 ob_end_flush를 사용할 때까지 출력되지 않으므로 아무 것도 없습니다. 파일 헤더 출력 오류! ob_start,PHP就会提示在文件的第4行出错(出错信息如前面所示),但是加上ob_start,就不会提示出错,原因是当打开了缓冲区,echo后面的字符不会输出到浏览器,而是保留在服务器,直到你使用flush或者ob_end_flush才会输出,所以并不会有任何文件头输出的错误!

下面再给出一个很经典的用途:

比如你用1f70f0edc086e1f683e864c3dfc26679

다음은 매우 고전적인 사용입니다.


예를 들어 1f70f0edc086e1f683e864c3dfc26679를 사용하여 서버와 클라이언트의 설정 정보를 가져오지만 이 정보는 다양합니다. 클라이언트에 따라 다릅니다. phpinfo() 함수의 출력을 저장하려면 어떻게 해야 합니까? 버퍼 제어가 없었기 전에는 전혀 방법이 없었다고 할 수 있지만, 버퍼 제어를 이용하면 쉽게 해결할 수 있습니다:

코드는 다음과 같습니다:

<?
ob_start(); //打开缓冲区
phpinfo(); //使用phpinfo函数
?$info=ob_get_contents(); //得到缓冲区的内容并且赋值给?$info
?$file=fopen(&#39;info.txt&#39;,&#39;w&#39;); //打开文件info.txt
fwrite(?$file,?$info); //写入信息到info.txt
fclose(?$file); //关闭文件info.txt
?>

관련 추천:
프로그래밍 영상 강좌 🎜🎜🎜

위 내용은 PHP 버퍼를 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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