您的位置:首页 > 编程语言 > PHP开发

php 页面静态化

2016-05-23 16:51 525 查看

页面静态化

php静态化的简单理解就是使网站生成页面以静态HTML的形式展现在访客面前,php静态化分纯静态化和伪静态化。两者的区别在于php生成静态页面的处理机制不同。

页面静态化的方法

1.ob缓存实现

页面在输出之前,会将输出数据暂时存放到BUFFER(缓冲器)中,然后才会输出到页面,所以BUFFER中的数据就是php代码执行后所生成的静态数据(即:静态html页面*)。

对于页面所需数据更新不频繁,要求实时性不高时,我们将BUFFER数据写入文件(html文件,数据库)中保存。下次读取显示保存好的文件,这样中间就免去了php代码执行时间,数据库查询时间以及模版渲染时间。

具体代码实现:

/**
* 这里是你的PHP逻辑代码
*/
//在你页面所有输出内容之前,开启缓冲器
ob_start();
echo 'hello,word!'
//当使用ob_start()函数之后,页面不会有输出,此时,所有的输出都已经存放在缓存器中
//然后我们将缓存器里面的内容拿出来,存放到一个静态的Html文件中
file_put_contents('index.html',ob_get_contents());//函数ob_get_contents()表示取出当前缓冲器内容;
//然后关闭缓冲器并清除缓冲器内容
ob_end_clean();
/*这样,一个静态的html文件就生成了,然后,需要做的只是判断什么时候该生成html文件,什么时候直接访问Html文件
提示:通过filemtime()函数判断Index.html文件的上次修改时间和当前时间间隔,来控制缓存有效期:
*/
//设置换成有效期为120秒
$cacheTime = '120';
if(time()-filemtime('index.html')>$cacheTime){
//不在缓存有效期,重新生成缓存文件
//这里是你的PHP逻辑代码和生成缓存文件的代码
}else{
//在缓存有效期内,直接调用index.html文件
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: