ThinkPHP3.2 的页面静态化功能的实现

ThinkPHP3.2 的页面静态化功能的实现,第1张

(1)在根目录下的程序入口文件index.php中加下面这行:

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'))就可以了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11614188.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存