백엔드 개발 PHP 튜토리얼 关于ob_start();该怎么解决

关于ob_start();该怎么解决

Jun 13, 2016 am 10:36 AM
quot setcookie start

关于ob_start();
想问一下 ob_start();ob_get_contents();ob_end_clean();
此3个函数 具体有什么用 且什么情况下用这些函数

------解决方案--------------------
翻版一下03年怪署黍的回答

PHP4 的新函数介绍 - 输出信息控制函数
 魔族精灵


这些函数可以让你控制你的脚本输出的内容.可以用于许多不同的情况,特别是在你的脚本已经输出信息后需要发送文件头新的情况. 输出控制函数不对使用 header() 或 setcookie() 发送的文件头信息产生影响,只对那些类似于 echo() 和 PHP 代码的数据块有作用.

例 1. 控制输出


ob_start();
echo "Hello\n ";

setcookie ( "cookiename ", "cookiedata ");

ob_end_flush();

?>

在上面的例子中,使用 echo() 的输出内容将会保存在输出缓冲区中,直到调用了 ob_end_flush(). 这样做有意义的地方是,调用 setcookie() 的内容被成功的存储在 cookie 里面而不会引起错误. (正常情况下,你不可以在有数据已经发送后再发送文件头信息到用户浏览器.)

相关函数 header() and setcookie().

韩数列表
flush — 刷新输出缓冲区
保存在输出缓冲区的内容会被发送到浏览器

ob_start — 打开输出缓冲区
这样所有的输出信息不在直接发送到浏览器,而是保存在输出缓冲区里面

ob_get_contents — 返回输出缓冲区的内容
如果你想以后处理输出的内容,可以调用这个函数保留一个备份

ob_get_length — 返回输出缓冲区的内容长度

ob_end_flush — 结束(发送)输出缓冲区的内容,关闭输出缓冲区

ob_end_clean — 删除(放弃)输出缓冲区的内容,关闭输出缓冲区
如果你的程序发现输出内容有问题,可以放弃所有输出内容,可以防止泄漏某些秘密信息

ob_implicit_flush — 打开或关闭直接刷新
打开后,每个脚本输出都直接发送到浏览器,不再需要调用 flush(),

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. 크로스 플레이가 있습니까?
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

docker start를 시작할 수 없으면 어떻게 해야 합니까? docker start를 시작할 수 없으면 어떻게 해야 합니까? Oct 21, 2022 pm 03:43 PM

docker 시작 실패에 대한 해결 방법: 1. 실행 상태를 확인한 후 "echo 3 > /proc/sys/vm/drop_caches" 명령을 통해 점유된 메모리를 해제합니다. 2. "$netstat -nltp|grep .. . " 명령을 사용하여 해당 포트가 이미 점유되어 있는지 확인합니다. 온라인 접속 후 점유된 것으로 확인되면 사용 가능한 포트로 변경한 후 다시 시작하세요.

setcookie php가 실패하면 어떻게 해야 할까요? setcookie php가 실패하면 어떻게 해야 할까요? Oct 26, 2022 am 09:07 AM

setcookie php 실패에 대한 해결 방법: 1. 해당 PHP 파일을 엽니다. 2. 도메인 이름 매개변수가 표준화되었는지 확인합니다. 3. "foreach ($_COOKIE["cookie"])와 같은 코드를 통해 $name = > $value) {$name = htmlspecialchars($name);$value = htmlspecialchars($value);echo...".

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

노드 시작이 오류를 보고하는 경우 수행할 작업 노드 시작이 오류를 보고하는 경우 수행할 작업 Dec 29, 2022 pm 01:55 PM

노드 시작 오류 해결 방법: 1. 터미널에서 직접 "node xx.js"를 실행합니다. 2. 시작 시작 항목 "scripts"를 추가합니다. ,"start":"node service.js"}"; 3. "npm start"를 다시 실행합니다.

setcookie 함수를 사용하여 PHP에서 쿠키를 설정하는 방법 setcookie 함수를 사용하여 PHP에서 쿠키를 설정하는 방법 Jun 26, 2023 pm 12:00 PM

웹 개발에서 쿠키는 웹 애플리케이션이 클라이언트 측에서 데이터를 저장하고 액세스할 수 있도록 하는 매우 일반적인 기술입니다. PHP 프로그래밍에서 쿠키 설정은 일반적으로 setcookie 함수를 사용하여 구현됩니다. setcookie 함수의 구문은 다음과 같습니다: boolsetcookie(string$name[,string$value[,int$expire[,string$path[,

PHP setcookie의 타임스탬프 0은 무엇을 의미합니까? PHP setcookie의 타임스탬프 0은 무엇을 의미합니까? Mar 22, 2023 am 10:38 AM

PHP의 setcookie() 함수는 클라이언트 브라우저에 쿠키를 설정하는 방법입니다. 이를 통해 웹사이트는 다음 방문 시 쿠키를 통해 이용자를 인식하고 이에 상응하는 서비스를 제공할 수 있습니다. setcookie()에는 쿠키 이름, 값, 만료 시간 등을 포함한 여러 매개변수가 있습니다. 만료 시간을 설정할 때 타임스탬프로 지정할 수 있습니다. 그러나 때때로 타임스탬프가 0으로 설정되는 경우가 있습니다. 이는 무엇을 의미합니까?

Java 스레드에서 시작 메소드와 실행 메소드를 사용하는 방법 Java 스레드에서 시작 메소드와 실행 메소드를 사용하는 방법 Apr 20, 2023 am 08:58 AM

start 메소드 및 run 메소드 $start()$ 메소드는 스레드를 시작하는 데 사용됩니다. 이때 스레드는 준비(실행 가능) 상태이며 $cpu$ 시간 조각을 얻으면 실행되지 않습니다. run()$ 메소드가 실행되기 시작합니다. $run()$ 메소드를 직접 호출하는 것은 본질적으로 현재 스레드에서 실행되는 클래스의 메소드만 호출하므로 $start()$ 메소드를 사용하여 $run()$를 호출해야만 달성할 수 있습니다. 방법. 진정한 멀티스레딩. 샘플 코드@Slf4j(topic="c.Test4")publicclassTest4{publicstaticvoidmain(Strin

Java 스레드에서 시작과 실행의 차이점은 무엇입니까 Java 스레드에서 시작과 실행의 차이점은 무엇입니까 Apr 20, 2023 pm 12:37 PM

publicclassTest1extendsThread{@Overridepublicvoidrun(){while(true){System.out.println(Thread.currentThread().getName());}} publicstaticvoidmain(String[]args){Test1test1=newTest1();test1.run() ;//출력 결과 maintest1.start();//출력 결과 Thread-0}}1.startstart는

See all articles