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