这篇文章将为大家详细讲解有关怎么在PHP中利用OB缓存实现一个静态化功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
实现步骤
1、创建测试数据表并且写入数据
2、实现后台的更新操作。使用OB缓存针对每一个内容生成对应的HTML文件
3、显示前台的数据信息
具体实现
①创建测试数据表并且写入数据(test.sql文件):
#创建数据表
createtablenews(
idintauto_increment,
titlevarchar(100)notnulldefault'',
bodytext,
primarykey(id)
)engine=myisamdefaultcharset=utf8;
#数据写入
insertintonewsvalues(null,'静态化','静态化可以减少服务器压力'),(null,'伪静态','伪静态能够满足SEO优化');
②实现后台的更新操作(admin.php文件)
<?php
//具体的后台更新
//获取所有的数据信息
mysql_connect('127.0.0.1','root','123456');
mysql_select_db('test');
$sql='select*fromnews';
$res=mysql_query($sql);
while($row=mysql_fetch_assoc($res)){
//针对每一条数据生成html文件
ob_start();//开启OB缓存
?>
<!DOCTYPEhtml>
<htmllang="en">
<head>
<metacharset="utf-8">
<title>静态化介绍</title>
</head>
<body>
<h2><?phpecho$row['title'];?></h2>
<div><?phpecho$row['body'];?></div>
</body>
</html>
<?php
//获取OB缓存中的内容
$str=ob_get_contents();
//关闭OB缓存并且清空内容。因为如果不清空浏览器上会看到所有的数据结果
ob_end_clean();
//将信息写入到文件中关于具体的文件目录及文件名称需要自定义
//对于在实际项目中关于html文件的存储一般都会使用年月日的格式存在
file_put_contents($row['id'].'.html',$str);
}
?>
③实现前台数据显示(list.php文件):
<?php
//显示列表
//获取所有的数据信息
mysql_connect('127.0.0.1','root','123456');
mysql_select_db('test');
$sql='select*fromnews';
$res=mysql_query($sql);
?>
<!DOCTYPEhtml>
<htmllang="en">
<head>
<metacharset="utf-8">
<title>静态化介绍</title>
</head>
<body>
<h2>显示列表</h2>
<table>
<tr>
<td>序号</td>
<td>标题</td>
<td>查看</td>
</tr>
<?phpwhile($row=mysql_fetch_assoc($res)){?>
<tr>
<td><?phpecho$row['id'];?></td>
<td><?phpecho$row['title'];?></td>
<td><ahref="<?phpecho$row['id'];?>.html"rel="externalnofollow">查看</a></td>
</tr>
<?php}?>
</table>
</body>
</html>
关于怎么在PHP中利用OB缓存实现一个静态化功能就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。