
define('HTML_PATH','./HTML/')//生成静态页面的文件位置 (nginx服务器报错时注释此行,默认地址为runtime目录平层的Html)
(2)在项目的配置文件config.php中进行如下配置:
'HTML_CACHE_ON'=>true,// 开启静态缓存
'HTML_CACHE_TIME'=>604800,// 全局静态缓存有效期(秒)(3600*24*7)
'HTML_FILE_SUFFIX'=>'.shtml',// 设置静态缓存文件后缀
'HTML_CACHE_RULES'=>array(// 定义静态缓存规则
// 定义格式1 数组方式
// 定义格式2 字符串方式
//后一个参数是静态缓存有效期,单位为秒。如果不定义,则会获取配置参数HTML_CACHE_TIME 的设置值,如果定义为0则表示永久缓存。
//{id} 表示取$_GET['id']
'CondVoucher:conGuid'=>array('{:controller}_{:action}/conGuid'),
(3)访问url生成缓存到html目录下查看缓存文件
参照手册: http://document.thinkphp.cn/manual_3_2.html#html_cache
添加完数据后,获取数据id,用程序访问一次文章页面,静态缓存就自动生成了。如:
<?php
//添加完数据后获取新添加的数据id
$id = mysql_insert_id()
file_get_contents("http://www.xxx.com/?m=index&a=content&a=$id")//这个文章地址你懂得
?>
可以使用php的ob缓存来实现静态页面的生成。比如:
你原本要输出a.php页面的内容,但是这个是php的动态文件,是要经过处理的,
因此,你在该文件的尾部(在业务都处理完了的地方),开始ob缓存(ob_start()),
然后将缓存存入到一个变量($content = ob_get_contents()),最后再将该变量保存到
静态的html文件中(file_put_contents('/a.html','$content'))就可以了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)