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 相关文章推荐
PHP 批量删除 sql语句
Jun 05 PHP
几款免费开源的不用数据库的php的cms
Dec 19 PHP
PHP中static关键字原理的学习研究分析
Jul 18 PHP
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
Mar 06 PHP
php中让上传的文件大小在上传前就受限制的两种解决方法
Jun 24 PHP
PHP反射类ReflectionClass和ReflectionObject的使用方法
Nov 13 PHP
PHP判断表单复选框选中状态完整例子
Jun 24 PHP
详解PHP文件的自动加载(autoloading)
Feb 04 PHP
PHP定义字符串的四种方式详解
Feb 06 PHP
利用PHP扩展Xhprof分析项目性能实践教程
Sep 05 PHP
PHP crc32()函数讲解
Feb 14 PHP
PHP接入支付宝接口失效流程详解
Nov 10 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
让你的网站首页自动选择语言转跳
2006/12/06 PHP
编写PHP程序检查字符串中的中文字符个数的实例分享
2016/03/17 PHP
php微信公众平台开发(四)回复功能开发
2016/12/06 PHP
syntaxhighlighter 使用方法
2007/07/02 Javascript
JQUERY 浏览器判断实现函数
2009/08/20 Javascript
jQuery版Tab标签切换
2011/03/16 Javascript
js中的string.format函数代码
2020/08/11 Javascript
jQuery中的jQuery()方法用法分析
2014/12/27 Javascript
php常见的页面跳转方法汇总
2015/04/15 Javascript
javascript使用shift+click实现选择和反选checkbox的方法
2015/05/04 Javascript
Bootstrap导航条学习使用(二)
2017/02/08 Javascript
基于 Bootstrap Datetimepicker 联动
2017/08/03 Javascript
详解vue-cli项目中用json-sever搭建mock服务器
2017/11/02 Javascript
Vue.js组件间的循环引用方法示例
2017/12/27 Javascript
vue中如何动态绑定图片,vue中通过data返回图片路径的方法
2018/02/07 Javascript
Js中将Long转换成日期格式的实现方法
2018/06/05 Javascript
puppeteer实现html截图的示例代码
2019/01/10 Javascript
使用vuepress搭建静态博客的示例代码
2019/02/14 Javascript
详解基于iview-ui的导航栏路径(面包屑)配置
2019/02/22 Javascript
Vue路由前后端设计总结
2019/08/06 Javascript
vue学习笔记之作用域插槽实例分析
2020/02/01 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
2017/03/20 Python
numpy.linspace函数具体使用详解
2019/05/27 Python
python3 深浅copy对比详解
2019/08/12 Python
python 动态绘制爱心的示例
2020/09/27 Python
利用CSS3实现折角效果实例源码
2016/09/28 HTML / CSS
英语演讲稿范文
2014/01/03 职场文书
心理健康日活动总结
2014/05/08 职场文书
大学生创业计划书怎么写
2014/09/15 职场文书
2015年读书月活动总结
2015/03/26 职场文书
2015年维修电工工作总结
2015/04/25 职场文书
springboot如何接收application/x-www-form-urlencoded类型的请求
2021/11/02 Java/Android
详解PyTorch模型保存与加载
2022/04/28 Python
关于vue-router-link选择样式设置
2022/04/30 Vue.js
Java实现带图形界面的聊天程序
2022/06/10 Java/Android