本文实例讲述了PHP使用OB缓存实现静态化功能。分享给大家供大家参考,具体如下:
实现步骤
1、创建测试数据表并且写入数据
2、实现后台的更新操作。使用OB缓存针对每一个内容生成对应的HTML文件
3、显示前台的数据信息
具体实现
①创建测试数据表并且写入数据(test.sql文件):
#创建数据表
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优化');
②实现后台的更新操作(admin.php文件)
?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);
}
?>
③实现前台数据显示(list.php文件):
?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" rel="external nofollow" > 查看/a>/td>
/tr>
?php } ?>
/table>
/body>
/html>
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php缓存技术总结》、《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
您可能感兴趣的文章:- thinkphp5redis缓存新增方法实例讲解
- PHP ob缓存以及ob函数原理实例解析
- 解决PHP Opcache 缓存刷新、代码重载出现无法更新代码的问题
- PHP网页缓存技术优点及代码实例
- php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析
- PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库操作示例
- TP5(thinkPHP框架)实现后台清除缓存功能示例
- ThinkPHP3.2.3框架Memcache缓存使用方法实例总结
- 简单实用的PHP文本缓存类实例
- PHP缓存系统APCu扩展的使用