本文最后更新于 2024-08-08,文章内容可能已经过时。

使用php保存静态页面做缓存的简单demo,以下文件处于同级文件夹,可保存代码直接运行。

1.控制器:index.php

<?php
if (is_file('./page.html') && (time() - filemtime('./page.html')) < 5) {
    //5秒更新一次页面
    require_once('./page.html');
} else {
    $test = '这是我的测试页面' . date('Y-m-d H:i:s');
    ob_start(); // 开始输入缓冲
    include './page.php';
    file_put_contents('./page.html', ob_get_flush());//获取缓冲区内容并写入文件
}

2.page.php

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>测试</title>
</head>
<body>
<?php echo $test;?>
</body>
</html>

3.PHP缓冲区基本用法

//打开缓冲区
ob_start();
//清除缓冲区中的内容
ob_clean();
//输出缓冲区的内容,并且关闭缓冲区,也可当作变量保存
ob_end_flush();
//可赋值给变量,保存缓存区的内容,不输出
ob_get_contents();
//关闭缓冲区的内容,不输出
ob_end_clean();