页面静态化实现识路
php页面静态化,是把那些内容不常变化的页面静态化,而不通过动态程从数据库或者缓存中读出,以此来增加响应速度和减轻服务器压力。这里的要点是对不常变化的内容做静态化,如:新闻,博客等。而经常变化的内容,如微博,就不适合做静态化。还有一些页面,大部分是不变内容,但部分是经常变动的内容,如新闻页包含有最新评论,这样的页面,也可以做静态化,只是需要对经常变动的部分做动态处理。
php页面静态化实现,主要有两个方面的问题要处理,第一是怎么样生成静态化文件,第二是怎么样更新静态文件
1.生成静态化页面就是将页面中的内容存入文件中访问那个文件就可以了
2.更新静态文件就是定时或不定时的重新向文件中存入更新后的内容替代之前的内容
下面是我的一个简单的用ob_函数写的一个可以运行的一段代码!
<?php header("content-type:text/html;charset=utf-8"); ob_start();//ob_函数开启缓冲区 echo 123; echo date("Y-m-d H:i:s");//输出的东西会自动充入缓冲区 $filename = "li.html";//设置文件名 $arr = ob_get_clean();//ob_函数从缓冲区中取出来并且清除缓冲区 //判断是否有这个文件或判断自己定义的每次缓冲时间是否已到(如果时间到了就重新充一遍或文件没有就创建就创建一个然后在充进去) if(!(file_exists($filename) && time() - filemtime($filename) < 1*60)) {//如果没有此文件或时间已到就充文件展示的话就用上面刚生成的内容 $res = fopen($filename,'w'); fwrite($res,$arr); print_r($arr); fclose($res); } else {//否者就从文件中读取出来展示文件中充的内容 $res = fopen($filename,'r'); $data = fread($res,filesize($filename)); print_r($data); fclose($res); }
把ob_缓冲机制上传到linux中的时候会报错那是因为缓冲以后的生成的文件储存的目录权限不够利用chmod -R 777 目录名修改权限就行了