用ob系列函数实现静态PHP网站页面
提前将PHP的执行页面转换成HTML,是所谓的PHP静态方法之一。
还有其他方法,如模板替换和opcache。
统计的作用:
提高网站响应速度,降低服务器负载;SEO对于搜索引擎;使用PHP输出缓冲区直接写html,在后台定时扫描网站,相对容易实现静态网页。
在静态化之前:
?PHP for($ I=0;$ i1000$ I){ echo ' bull br ';}?静态:
?phpob _ start();for($ I=0;$ i1000$ I){ echo ' bull br ';} $ str=ob _ get _ contents();ob _ end _ clean();$fp=fopen('test.html ',' w ');fwrite($fp,$ str);fc lose(FP美元);echo“div success write/div”;这个代码将提前形成一个test.html。说白了,其实就是用空间换时间。和新闻网站一样,发布的内容写出来之后基本不会改变,更适合静态转换成html。
当用户访问时,他们可以指向这个html页面。
只需用apache benchmark测试一下效果:
ab.exe-n 1000-C10
在90%以上的连接中,它们之间的差异至少为150 ms,与复杂的php相比,html节省了大量的计算。
附相关函数简介。
1.刷新:刷新缓冲区和输出的内容。功能格式:flush()说明:该功能使用频繁,效率高。
2.ob_start:打开输出缓冲区功能格式:void ob_start(void)说明:当缓冲区被激活时,所有来自PHP程序的非头信息都不会被发送,而是保存在内部缓冲区中。要输出缓冲区的内容,可以使用ob_end_flush()或flush()输出缓冲区的内容。
3.ob_get_contents:返回内部缓冲区的内容。用法:string ob_get_contents(void)说明:此函数将返回当前缓冲区中的内容,如果输出缓冲区未激活,将返回FALSE。
4.ob_get_length:返回内部缓冲的长度。用法:int ob_get_length(void)说明:此函数将返回当前缓冲区中的长度;与ob_get_contents一样,如果输出缓冲区未激活。然后返回假。
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 flag])说明:任何使用过Perl的人都知道$|=x的含义,这个字符串可以打开/关闭缓冲区,Ob _ implicit _ flush函数和那个一样,默认是关闭缓冲区。
版权声明:用ob系列函数实现静态PHP网站页面是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。