方法一
这个实现其实蛮简单,只不过官网上的手册写得不是很详细。
首先你在入口文件中定义你生成html页面的路径常量HTML_PATH,一般路径都定义在根目录,比较直观。把手册上写得代码copy到你要生成页面的应用项目的配置文件中,只要写静态缓存规则就行。比如你要生成关于我们页面,你的规则可以这样写
'HTML_CACHE_ON' => true, // 开启静态缓存
'HTML_CACHE_TIME' => 60, // 全局静态缓存有效期(秒)
'HTML_FILE_SUFFIX' => '.shtml', // 设置静态缓存文件后缀
'HTML_CACHE_RULES' => array( // 定义静态缓存规则
'About' => array('/About/index.html')
当你访问关于我们页面的时候,就会生成这个页面的纯html页面,当你这个页面更新数据的时候,隔60秒后,前台页面就会自动重新写入,因为缓存有效期设置的60秒,你也可以设置永久有效,这样的话不会每隔60秒重新写入一次,浪费性能。设置永久有效的话,你更新数据前台是不会更新的,这个时候你只要删除缓存就行了,缓存就是这个生成的页面文件,将其删除。或者你在后台写个一键更新缓存等都可以,这种缓存访问页面速度是非常可观的。而且还能脱离程序运行,不怕程序发生意外报错情况。
方法二
ob_start(); //打开缓冲区
$data = ob_get_contents(); //获取缓冲区的内容
ob_end_clean(); //关闭缓冲
$fp = fopen("/index.html","w"); //将内容写入文件
if(!$fp)
{
echo "文件无权限";
exit();
}
else
{
fwrite($fp,$data);
fclose($fp);
echo "生成成功";
}
这代码写在前台相应的控制器中,会自动生成html页面。 文章源自玩技e族-https://www.playezu.com/185099.html
评论