[php] php纯静态化简单实现

目录结构:
application
View
— test.php
— test.html
test.php

test.php
首先定义模拟数据:

$arr = array();
for($i=0; $i<5; $i++) {$arr[] = $i;  // 数组赋值
}

接着在下方调用模板文件

require_once('View/test.php');

View/test.php

<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><title>test</title>
</head>
<body><ol><?php /*for ($i=0; $i < 5; $i++) { echo '<li>'.$arr[$i].'</li>';}*/foreach ($arr as $key => $value) {  // 循环数组echo '<li>'.$value.'</li>';}?><!-- 另一种写法 --><?php foreach ($arr as $key => $value) {  ?><li><?php echo $value; ?></li><?php } ?></ol>
</body>
</html>

访问下:localhost/application/test.php 测试下

test.php
然后打开输出控制缓冲

ob_start(); 
require_once('View/test.php'); // 引入模板文件

把内容写入到静态文件:

// file_put_contents() 将一个字符串写入文件
if(file_put_contents('View/test.html', ob_get_clean())) {echo 'success';// ob_get_clean 得到当前缓冲区的内容并删除当前输出缓
} else {echo 'error';
}

最后访问成功后,现访问静态文件 测试
localhost/application/test.php
localhost/application/View/test.html

欢迎关注技术开发分享录:http://fenxianglu.cn/