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 相关文章推荐
自动分页的不完整解决方案
Jan 12 PHP
php 修改zen-cart下单和付款流程以防止漏单
Mar 08 PHP
php和数据库结合的一个简单的web实例 代码分析 (php初学者)
Jul 28 PHP
PHP中去除换行解决办法小结(PHP_EOL)
Nov 27 PHP
php中base64_decode与base64_encode加密解密函数实例
Nov 24 PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
Oct 13 PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
Mar 03 PHP
PHP中header函数的用法及其注意事项详解
Jun 13 PHP
PHP合并数组函数array_merge用法分析
Feb 17 PHP
PHP图像处理 imagestring添加图片水印与文字水印操作示例
Feb 06 PHP
Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析
May 15 PHP
php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
Aug 17 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
Linux下进行MYSQL编程时插入中文乱码的解决方案
2007/03/15 PHP
php在window iis的莫名问题的测试方法
2013/05/14 PHP
php比较两个绝对时间的大小
2014/01/31 PHP
wordpress安装过程中遇到中文乱码的处理方法
2015/04/21 PHP
Aster vs KG BO3 第二场2.19
2021/03/10 DOTA
jquery实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
2010/03/21 Javascript
6个DIV 135或246间隔一秒轮番显示效果
2010/07/24 Javascript
javascript中的作用域scope介绍
2010/12/28 Javascript
JSON为什么那样红为什么要用json(另有洞天)
2012/12/26 Javascript
Javascript 检测键盘按键信息及键码值对应介绍
2013/01/03 Javascript
深入理解JavaScript系列(18):面向对象编程之ECMAScript实现
2015/03/05 Javascript
Zero Clipboard实现浏览器复制到剪贴板的方法(多个复制按钮)
2016/03/24 Javascript
JavaScript希尔排序、快速排序、归并排序算法
2016/05/08 Javascript
详解jQuery停止动画——stop()方法的使用
2016/12/14 Javascript
教你5分钟学会用requirejs(必看篇)
2017/07/25 Javascript
浅谈JS函数节流防抖
2017/10/18 Javascript
vue-router路由懒加载和权限控制详解
2017/12/13 Javascript
解决vuejs 使用value in list 循环遍历数组出现警告的问题
2018/09/26 Javascript
Vue实现数据请求拦截
2019/10/23 Javascript
理解Python中的类与实例
2015/04/27 Python
python编程线性回归代码示例
2017/12/07 Python
Python使用遗传算法解决最大流问题
2018/01/29 Python
python RabbitMQ 使用详细介绍(小结)
2018/11/08 Python
Python3.4学习笔记之 idle 清屏扩展插件用法分析
2019/03/01 Python
Python字符串对象实现原理详解
2019/07/01 Python
移动端html5判断是否滚动到底部并且下拉加载
2019/11/19 HTML / CSS
BIBLOO波兰:捷克的一家在线服装店
2018/03/09 全球购物
天网面试题
2013/04/07 面试题
安全标准化汇报材料
2014/02/03 职场文书
课前三分钟演讲稿
2014/04/24 职场文书
奥运会口号
2014/06/13 职场文书
2014银行领导班子群众路线对照检查材料思想汇报
2014/09/17 职场文书
世界地球日活动总结
2015/02/09 职场文书
党校学习个人总结
2015/02/15 职场文书
读《方与圆》有感:交友方圆有度
2020/01/14 职场文书
台式电脑蓝牙适配器怎么安装?台式电脑蓝牙适配器安装教程
2022/04/08 数码科技