页面静态化,顾名思义是将动态的PHP转化为静态的Html,流程如下图
用户访问index.php,如果存在index.html且在有效期内,则直接输出index.html,否则去生成index.html
file_put_contents()输出静态文件
ob_start()开启PHP缓冲区
ob_get_contents()获取缓冲区内容
ob_clean()清空缓冲区
ob_get_clean()相当于ob_get_contents()+ob_clean()
代码示例
<?php
if (file_exists('./html/index.html') && time() - filectime('./html/index.html') < 30) {
require_once './html/index.html';
} else {
// 引入数据库配置
require_once "./config/database.php";
// 引入Medoo类库
require_once "./libs/medoo.php";
// 实例化db对象
$db = new medoo($config);
// 获取数据
$users = $db->select('user', ['uid', 'username', 'email']);
// 引入模板
require_once "./templates/index.php";
// 写入html
file_put_contents('./html/index.html', ob_get_contents());
}