PHP中ob_start是什么功能
答案:2 悬赏:20
解决时间 2021-03-14 16:08
- 提问者网友:他的思颖
- 2021-03-14 03:57
个人理解是 比如说 我先输出一段文字 然后设置cookie 使用ob_start之后 缓存输出 先设置完COOKIE后 在输出那段文字 这个我看了一篇文章后的理解 当然也有可能是我理解错误 以上算是我瞎猜的 请教下 高手 这ob_start的是什么功能啊
最佳答案
- 二级知识专家网友:恕我颓废
- 2021-03-14 05:33
类似于启动缓存
全部回答
- 1楼网友:劳资的心禁止访问
- 2021-03-14 06:59
ob_start() 仅仅说作用,不说怎么用,怎么用自己找,网上都有,今天只是帮有点模模糊糊的人清楚起来。 昨天看到朋友公司的代码就是类似上面这样的代码了,说白了没有任何意义的代码(我问了 不是为了setcookie header这类)。 我仔细想过之后,然后上网搜索了一下,发现相当多的初学者(技术上的初学者,不一定是php第一年生,有的人一辈子是初学者),并不理解ob的作用,只是网上经常把ob叫做输出缓冲,输出缓存,所以相当多的人就把ob系列函数当作是加快php页面显示的工具。 其实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压缩。
希望采纳 谢谢
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯