初学网页静态化
页面静态化用于把php文件输出为一个纯的html或者shtml文件,作用是使客户端可以更快地加载,减少等待时间(动态页面有可能需要连接数据库等操作,导致显示出来的时间会变长),适用于访问量大但用户交互性没那么强的页面,好像我根本还达到要需要用到的地步。。。。
个人理解:
使用原理是打开缓冲区,把php文件内容输出到页面前,会先输入到缓冲区。
而页面静态化就是把缓冲区内容输出到html,shtml,这样,用户如果加载就只是静态文件,相对来说速度更快
下面是一般而言可以用到的函数:
//获得缓冲区的内容,前提是php.ini开启了buffering或者使用ob_start();开启缓冲区 ob_get_contents(); //把字符串写入文件,结果返回输入字符串个数,但每次使用都会清空原文本内容 file_put_contents($filename,$content); //清空缓冲区 ob_clean(); //得到缓冲区的内容 ob_get_contents(); //清空缓冲区并并得到缓冲区内容,相当于ob_get_contents()+ob_clean(); ob_get_clean();
一般而言,用的时候是先使用ob_clean()打开缓冲区(一般而言php.ini会默认打开,但不同版本php可能有所不同)
然后用require_once();引入php文件,此时数据会经过缓冲区
最后用file_put_contents('.html',ob_get_contents());把内容放入该html文件,就成了静态化文件
个人例子:
ob_start(); require_once('article.list.php'); file_put_contents('index.shtml',ob_get_clean());
以上是个人理解,肯定有错误的地方,有不足之处请指出
作者:大傻逼
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。