用到关于PHP缓冲区的函数:
ob_start(); //打开输出控制缓冲
ob_ get_contents(); 返回输出缓冲区内容
用到的生成文件的函数:
file_put_contents('文件路径','文件内容');
简单版的就只需要两个文件
1.singwa.php中的代码
<<!DOCTYPE html>
<html>
<head>
<meta charset = "utf-8">
<title>测试</title>
</head>
<body>
<div>
<h3>列表</h3>
<ul>
<?php foreach ($news as $key => $value) {?>
<li><?php echo $value['title']; ?></li>
<?php }?>
</ul>
</div>
</body>
</html>
2.index.php中的代码
<?php
// 假设从数据库得到的数据保存在了变量$news里
$news = array(
array('title' => '这是什么1', ),
array('title' => '这是什么2', ),
array('title' => '这是什么3', ),
) ;
// 开启缓冲区
ob_start();
// 引入HTML模板文件
require_once("singwa.php");
// 生成文件(文件里有数据和模板)
file_put_contents('index1.html',ob_get_contents());
3.执行index.php文件就会生成一个静态文件index1.html 内容为
<<!DOCTYPE html>
<html>
<head>
<meta charset = "utf-8">
<title>测试</title>
</head>
<body>
<div>
<h3>列表</h3>
<ul>
<li>这是什么1</li>
<li>这是什么2</li>
<li>这是什么3</li>
</ul>
</div>
</body>
</html>
4.就多了一个文件
注: 这是简单的页面静态化,一般会加入过期时间,这样就要加个判断是否存在是否过期,如果没过期则直接输出文件内容,如过期则删除后再创建文件。