在公司的时候因为网站速度慢需要解决这个问题,然后想到了用静态页面来解决
目前公司的网站都是单入口模式的,学习thinkphp你可能会忽略的知识点——单一入口模式 这个文章里有讲到什么是单入口,单入口的优缺点。
单入口文件的最上面需要做
ob_start();
然后判断当前链接是否有对应的静态文件,如果存在就直接调静态文件,如果不存在继续执行下面的代码。
在单入口文件的最下面做
$text = ob_get_flush(); 这句代码的目的是把页面的内容放到text这个变量里,然后用
$myfile = fopen(“myfile.html”,”w”);
fwrite($myfile,$text);
fclose($myfile );
ob_clean();
生成静态页面
下面是一个生成静态页面测试的代码,以下代码可以讲清楚原理
<?php ob_start(); if(file_exists("myfile.html")) { echo file_get_contents("myfile.html"); exit; } @readfile("http://www.phpsong.com/"); $text = ob_get_flush(); $myfile = fopen("myfile.html","w"); fwrite($myfile,$text); fclose($myfile ); ob_clean();