PHP使用OB缓存实现静态化功能示例


Posted in PHP onMarch 23, 2019

本文实例讲述了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 相关文章推荐
一个用mysql_odbc和php写的serach数据库程序
Oct 09 PHP
php分页示例代码
Mar 19 PHP
从Web查询数据库之PHP与MySQL篇
Sep 25 PHP
php中session_unset与session_destroy的区别分析
Jun 16 PHP
php-fpm配置详解
Feb 12 PHP
PHP中的多行字符串传递给JavaScript的两种方法
Jun 19 PHP
Smarty中常用变量操作符汇总
Oct 27 PHP
php中mail函数发送邮件失败的解决方法
Dec 24 PHP
PHP实现批量生成App各种尺寸Logo
Mar 19 PHP
PHP长网址与短网址的实现方法
Oct 13 PHP
Laravel 实现密码重置功能
Feb 23 PHP
深入理解PHP+Mysql分布式事务与解决方案
Dec 03 PHP
Laravel如何自定义command命令浅析
Mar 23 #PHP
PHP使用mysqli同时执行多条sql查询语句的实例
Mar 22 #PHP
PHP中命名空间的使用例子
Mar 22 #PHP
PHP SESSION机制的理解与实例
Mar 22 #PHP
PHP析构函数destruct与垃圾回收机制的讲解
Mar 22 #PHP
PHP中的empty、isset、isnull的区别与使用实例
Mar 22 #PHP
PHP如何防止XSS攻击与XSS攻击原理的讲解
Mar 22 #PHP
You might like
网友原创的PHP模板类代码
2008/09/07 PHP
PHP自定session保存路径及删除、注销与写入的方法
2014/11/18 PHP
php约瑟夫问题解决关于处死犯人的算法
2015/03/23 PHP
php 后端实现JWT认证方法示例
2018/09/04 PHP
javascript编程起步(第二课)
2007/02/27 Javascript
分享8款优秀的 jQuery 加载动画和进度条插件
2012/10/24 Javascript
javascript垃圾收集机制与内存泄漏详细解析
2013/11/11 Javascript
JS函数重载的解决方案
2014/05/13 Javascript
jQuery实现鼠标经过事件的延时处理效果
2020/08/20 Javascript
AngularJS指令详解及示例代码
2016/08/16 Javascript
jQuery属性选择器用法示例
2016/09/09 Javascript
Bootstrap table使用方法详细介绍
2016/12/09 Javascript
浅析Jquery操作select
2016/12/13 Javascript
如何学JavaScript?前辈的经验之谈
2016/12/28 Javascript
Vue动态实现评分效果
2017/05/24 Javascript
javascript计算渐变颜色的实例
2017/09/22 Javascript
JS实现按钮颜色切换效果
2020/09/05 Javascript
详解无限滚动插件vue-infinite-scroll源码解析
2019/05/12 Javascript
vue轮播组件实现$children和$parent 附带好用的gif录制工具
2019/09/26 Javascript
vue实现登录拦截
2020/06/29 Javascript
[46:47]2014 DOTA2国际邀请赛中国区预选赛 DT VS HGT
2014/05/22 DOTA
收集的几个Python小技巧分享
2014/11/22 Python
基于Python函数的作用域规则和闭包(详解)
2017/11/29 Python
Python框架Flask的基本数据库操作方法分析
2018/07/13 Python
超简单使用Python换脸实例
2019/03/27 Python
Python3 main函数使用sys.argv传入多个参数的实现
2019/12/25 Python
Matplotlib使用字符串代替变量绘制散点图的方法
2020/02/17 Python
Python requests接口测试实现代码
2020/09/08 Python
python爬虫使用scrapy注意事项
2020/11/23 Python
html5 canvas绘制矩形和圆形的实例代码
2016/06/16 HTML / CSS
Hotels.com韩国:海外国内旅行所需的酒店和住宿预订网站
2020/05/08 全球购物
《狼》教学反思
2014/03/02 职场文书
外贸员简历中的自我评价
2014/03/04 职场文书
租房协议书怎么写
2014/04/10 职场文书
美化环境标语
2014/06/20 职场文书
参加招聘会后的感想
2015/08/10 职场文书