首页 > 后端开发 > 正文

在PHP页面的顶端增加语句ob_start();的作用是什么

2024-09-02 02:41:04 | 我爱编程网

在PHP页面的顶端增加语句ob_start();的作用是什么相关内容,小编在这里做了整理,希望能对大家有所帮助,关于在PHP页面的顶端增加语句ob_start();的作用是什么信息,一起来了解一下吧!

本文目录一览:

在PHP页面的顶端增加语句ob_start();的作用是什么

在PHP页面的顶端增加语句ob_start();的作用是什么

您好,ob_start();
....
ob_clean();
这两句中间的任意输出,都可以用ob_get_contents();来获取而不输出到浏览器.
经典应用:将phpinfo()的信息写到文件里.
ob_start();
phpinfo();
$phpinfo = ob_get_contents();
//文件读写操作
ob_clean();

其实ob是output buffering的简称,而不是output cache,ob用对了,是能对速度有一定的帮助,但是盲目的加上ob函数,只会增加CPU额外的负担。下面我说说ob的基本作用。
1.防止在浏览器有输出之后再使用setcookie,或者header,session_start函数造成的错误。(我本以为最开始说的代码是这样的作用,但后来朋友说不是的),其实这样的用法少用为好,养成良好的代码习惯。
2.捕捉对一些不可获取的函数的输出,比如phpinfo会输出一大堆的HTML,但是我们无法用一个变量例如$info=phpinfo();来捕捉,这时候ob就管用了
3.对输出的内容进行处理,例如进行gzip压缩,例如进行简繁转换,例如进行一些字符串替换。
4.生成静态文件,其实就是捕捉整页的输出,然后存成文件,经常在生成HTML,或者整页缓存中使用。
对于刚才说的第三点中的GZIP压缩,可能是很多人想用,却没有真真用上的,其实稍稍修改下我朋友的代码,就可以实现页面的gzip压缩。

在PHP页面的顶端增加语句ob_start();的作用是什么

php 中ob_start()是用来做什么的?有什么用啊?举个具体的例子

控制缓冲区

ob_start(); //开启缓冲

echo '输出内容'; // “输出内容”暂不会打印,而是放入缓冲。

然后可以通过其他的函数来处理缓冲区内容。例如
ob_get_contents获取缓冲区内容
ob_clean清空缓冲区
ob_end_clean清空缓冲区,同时关闭缓冲区。
等等。。。

在PHP页面的顶端增加语句ob_start();的作用是什么

php中“ ob_start()”有什么作用呢?

我爱编程网(https://www.52biancheng.com)小编还为大家带来php中“ ob_start()”有什么作用呢?的相关内容。

开启缓冲区,缓冲器清除。

一、Output Control
函数可以让你自由控制脚本中数据的输出。它非常地有用,特别是对于:当你想在数据已经输出后,再输出文件头的情况。输出控制函数不对使用
header() 或 setcookie(), 发送的文件头信息产生影响,只对那些类似于 echo() 和 PHP 代码的数据块有作用。

二、程序代码<?phpob_start(); //打开缓冲区echo \"Hellon\"; //输header("location:index.php"); //把浏览器重定向到index.phpob_end_flush();//输出全部内容到浏览器?>。

三、如果我们去掉第一行的ob_start(),再执行此程序,我们会发现得到了一条错误提示:"Header had all ready send
by"!但是加上ob_start,就不会提示出错,原因是当打开了缓冲区,echo后面的字符不会输出到浏览器,而是保留在服务器,直到你使用
flush或者ob_end_flush才会输出,所以并不会有任何文件头输出的错误。

四、当缓冲区激活时,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区。为了输出缓冲区的内容,可以使用ob_end_flush()或flush()输出缓冲区的内容。

五、使用过Perl的人都知道$|=x的意义,这个字符串可以打开/关闭缓冲区,而ob_implicit_flush函数也和那个一样,默认为关闭缓冲区,打开绝对输出后,每个脚本输出都直接发送到浏览器,不再需要调用 flush()。

六、用户在client端得到的是由PHP产生的html页面。如果这个html页面不会再被更新,那么当另外的用户再次浏览此页面时,程序将不会再调用PHP以及相关的数据库,对于某些信息量比较大的网站,例如sina,163,sohu。类似这种的技术带来的好处是非常巨大的。

我爱编程网

以上就是在PHP页面的顶端增加语句ob_start();的作用是什么全部内容了,了解更多相关信息,关注我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“在PHP页面的顶端增加语句ob_start();的作用是什么”相关推荐
use语句必须放在函数外面的理由是什么?
use语句必须放在函数外面的理由是什么?

use语句必须放在函数外面的理由是什么?下面为何不可以`functiondone(){require_once'vendor/autoload.php';useQiniu\Auth;useQiniu\Storage\UploadManager;#省略}`?必须写成`require_once'vendor/autoload.php';useQiniu\Auth;useQiniu\Stor

2025-02-02 05:11:49
php中“ ob_start()”有什么作用呢?
php中“ ob_start()”有什么作用呢?

php中“ob_start()”有什么作用呢?开启缓冲区,缓冲器清除。一、OutputControl函数可以让你自由控制脚本中数据的输出。它非常地有用,特别是对于:当你想在数据已经输出后,再输出文件头的情况。输出控制函数不对使用header()或setcookie(),发送的文件头信息产生影响,只对那些类似于echo()和PHP代码的数据块有作用。二、程序代码&lt

2024-10-12 07:35:44
php的输出语句是什么
php的输出语句是什么

php中的几个输出函数1echo();2print();3die();4printf();5sprintf();6print_r();7var_dump();1echo()可以同时输出多个字符串,可以多个参数,并不需要圆括号,无返回值。2print()只可以同时输出一个字符串,一个参数,需要圆括号,有返回值,当其执行失败时返flase.print的用法和C语言很像,所以会对输

2024-07-23 22:03:50
php语言的主要作用是什么
php语言的主要作用是什么

php语言的主要作用是什么1、PHP是一种开源脚本语言,利于学习,使用广泛,主要适用于Web开发领域2、用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率高3、PHP的执行环境主要是在服务器端口上,主要由两个核心功能,第一个是与客户端浏览器的信息互传。不仅可以将信息从服务器发送到客户端浏览器上,也可以将客户端的信息发送到服务器端,这主要

2024-09-13 16:57:05
test_input() 在 php 中 的作用是什么?
test_input() 在 php 中 的作用是什么?

php过滤指定字符的函数explode—使用一个字符串分割另一个字符串arrayexplode  (string$delimiter ,string$string [,int$limit ])此函数返回由字符串组成的数组,每个元素都是  string  的一个子串,它们被字符串  delimiter  作为边界点分割出来。&lt;?php// 示例 1$pizza  = "

2024-09-10 20:18:32
php 中ob_start()是用来做什么的?有什么用啊?举个具体的例子
php 中ob_start()是用来做什么的?有什么用啊?举个具体的例子

php中ob_start()是用来做什么的?有什么用啊?举个具体的例子控制缓冲区ob_start();//开启缓冲echo'输出内容';//“输出内容”暂不会打印,而是放入缓冲。然后可以通过其他的函数来处理缓冲区内容。例如ob_get_contents获取缓冲区内容ob_clean清空缓冲区ob_end_clean清空缓冲区,同时关闭缓冲区。等等。。。p

2024-09-03 01:30:12
PHP页面里的,action里的是什么意思?
PHP页面里的,action里的是什么意思?

PHP页面里的,action里的是什么意思?php中是没有action的,这是一般是在用html的表单中的,意思是提交到指定的文件,用法是&lt;formaction='表单提交的文件名'method='提交的方式'&gt;,必需的action属性规定当提交表单时,向何处发送表单数据,举个实例来理解:&lt;html&gt;&lt;head&gt;&lt;/head&gt;&l

2024-10-08 01:38:39
网页里,怎么在一个页面里显示登陆用户的头像呢?(PHP语言)
网页里,怎么在一个页面里显示登陆用户的头像呢?(PHP语言)

php替换原来的头像,更新头像,这个语法执行不出来,请各位大侠帮忙是没有写入,还是写入的东西不对?$sql="updateuserinfosetloginid='".$loginid."',loginopwd='".$loginpwd."',loginname='".$loginname."',loginemail='".$loginemail."',loginphone='".$log

2024-10-14 05:58:43