您的位置:首页 > 其它

使用OB缓存实现静态化

2017-09-19 02:19 190 查看

实现步骤

1、创建测试数据表并且写入数据

2、实现后台的更新操作。使用OB缓存针对每一个内容生成对应的HTML文件

3、显示前台的数据信息

 

具体实现

①创建测试数据表并且写入数据

#创建数据表
create table news(
id int auto_increment,
title varchar(100) not null default '',
body text,
primary key(id)
)engine =myisam default charset=utf8;

#数据写入
insert into news values(null,'静态化','静态化可以减少服务器压力'),(null,'伪静态','伪静态能够满足SEO优化');



②实现后台的更新操作

<?php
//具体的后台更新
//获取所有的数据信息
mysql_connect('127.0.0.1','root','123456');
mysql_select_db('test');
$sql='select * from news';
$res = mysql_query($sql);
while ($row=mysql_fetch_assoc($res)) {
//针对每一条数据生成html文件
ob_start();//开启OB缓存
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>静态化介绍</title>
</head>
<body>
<h1><?php echo $row['title']; ?></h1>
<div><?php echo $row['body']; ?></div>
</body>
</html>
<?php
//获取OB缓存中的内容
$str = ob_get_contents();
//关闭OB缓存并且清空内容。因为如果不清空浏览器上会看到所有的数据结果
ob_end_clean();
//将信息写入到文件中 关于具体的文件目录及文件名称需要自定义
//对于在实际项目中关于html文件的存储 一般都会使用年月日的格式存在
file_put_contents($row['id'].'.html',$str);
}
?>


③实现前台数据显示

<?php
//显示列表
//获取所有的数据信息
mysql_connect('127.0.0.1','root','123456');
mysql_select_db('test');
$sql='select * from news';
$res = mysql_query($sql);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>静态化介绍</title>
</head>
<body>
<h1>显示列表</h1>
<table>
<tr>
<td>序号</td>
<td>标题</td>
<td>查看</td>
</tr>
<?php while ($row =mysql_fetch_assoc($res)) {?>
<tr>
<td><?php echo $row['id']; ?></td>
<td><?php echo $row['title']; ?></td>
<td><a href="<?php echo $row['id'];?>.html"> 查看</a></td>
</tr>
<?php } ?>
</table>
</body>
</html>

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: