您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件测试工具 > 测试管理工具 > 正文

TP实现伪静态页面生成

发表于:2017-01-09 作者:网络转载 来源:

  方法一
  这个实现其实蛮简单,只不过官网上的手册写得不是很详细。
  首先你在入口文件中定义你生成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页面。