页面静态化对于一个不经常更新的网站尤为重要,网站大了之后,访问量多了之后,带来的就是网站打开速度过于缓慢,甚至打不开,当然用户看到网站打不开也就把网页关了,所以说我研究了一下写了静态化方法,当然thinkphp本身也自带方法,我就不说了。
在需要静态化页面的action里面写入
action方法
ob_start();
$static_file ='./home/Tpl/default/Index/s.html';//静态页面
$path = './IndexAction.class.php';
$php_file = basename($path);//当前动态页面
if (!file_exists($static_file) ||
((filemtime($static_file)+1800) < time()) || //缓存固定时间
filemtime($php_file) > filemtime($static_file)) //判断源文件已修改
{
//下面这部分就是你自己action里面的逻辑
$user = M('user');
$tupian = M('tupianshangchuan');
$tupian = $tupian->select();
$list = $user->where('email="'.Session::get('email').'"')->select();
$this->assign('tupian',$tupian);
$this->assign('list',$list);
$this->display(s_index);
$c = ob_get_contents();
file_put_contents($static_file, $c);
}else{
$this->display('s');
}