PHP页面静态化

原创
2019/06/21 17:54
阅读数 189

讲解

主要通过使用
    # 开启缓冲区, 意味页面出header之外暂不输出,保存在缓冲区内.
    ob_start();
    # 获取缓冲区内容
    ob_get_contents();
    # 输出缓冲区内容, 将缓冲区中的内容一次性输出,不关闭缓存区.
    ob_flush();    
    或者:
    ob_end_flush(); # 送出内容同时关闭缓存区;
    三个函数来实现;
<?php
# 页面静态化实例

date_default_timezone_set('PRC');
echo '修改时间: '. date('Y-m-d H:i:s',filemtime('./test.html')). ' | 当前时间: '. date('Y-m-d H:i:s', time());
echo '<hr>';

# 判断文件是否存在
$fileName = './test.html';
if(!file_exists($fileName) || (time() - (filemtime($fileName)+1) < 3)){
	echo '读取缓存文件,获得HTML文件;';
	return include './test.html';
}
echo '不是缓存文件';
# 文件不存或者已经过期
ob_start(); # 开始输出缓冲
# ob_start(); 此函数将打开输出缓冲。当输出缓冲激活后,脚本将不会输出内容(除http标头外),相反需要输出的内容被存储在内部缓冲区中。
$content = '
			<!DOCTYPE html>
			<html lang="en">
			    <head>
			      <title>Welcome</title>
			      <meta charset="UTF-8" />
			      <meta name="keywords" content=" " />
			      <meta name="description" content=" " />
			      <link rel="stylesheet" type="text/css" href=" " />
			      <script type="text/javascript" src=" "></script>
			      <style>
			        
			      </style>
			    </head>
			    <body>
					<table border="1px solied red" style="width: 500px">
						<tr>
							<th>姓名</th>
							<th>性别</th>
							<th>职位</th>
						</tr>
						<tr>
							<td>刘昊</td>
							<td>男</td>
							<td>研发</td>
						</tr>
						<tr>
							<td>屌哥</td>
							<td>男</td>
							<td>研发</td>
						</tr>
					</table>
			    </body>
			</html>
		';
echo $content;
$content = ob_get_contents(); # 获取缓冲区的内容
file_put_contents('./test.html', $content);

ob_flush();  # 送出缓冲区的内容
展开阅读全文
PHP
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部