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 相关文章推荐
Linux fgetcsv取得的数组元素为空字符串的解决方法
Nov 25 PHP
解析php下载远程图片函数 可伪造来路
Jun 25 PHP
利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
Nov 26 PHP
php smarty truncate UTF8乱码问题解决办法
Jun 13 PHP
php计算数组相同值出现次数的代码(array_count_values)
Jan 20 PHP
10个超级有用值得收藏的PHP代码片段
Jan 22 PHP
PHP连接数据库实现注册页面的增删改查操作
Mar 27 PHP
php基于PDO连接MSSQL示例DEMO
Jul 13 PHP
一个简单的php MVC留言本实例代码(必看篇)
Sep 22 PHP
Yii框架用户登录session丢失问题解决方法
Jan 07 PHP
PHP代码加密的方法总结
Mar 13 PHP
Laravel框架集合用法实例浅析
May 14 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
Joomla下利用configuration.php存储简单数据
2010/05/19 PHP
利用PHP扩展vld查看PHP opcode操作步骤
2013/03/04 PHP
在PHP中使用X-SendFile头让文件下载更快
2014/06/01 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
2020/04/13 PHP
ExtJS 学习专题(一) 如何应用ExtJS(附实例)
2010/03/11 Javascript
基于jQuery的遍历同id元素 并响应事件的代码
2012/06/14 Javascript
jquery及原生js获取select下拉框选中的值示例
2013/10/25 Javascript
JQuery实现倒计时按钮具体方法
2013/11/14 Javascript
js/jquery获取文本框输入焦点的方法
2014/03/04 Javascript
Angular.js如何从PHP读取后台数据
2016/03/24 Javascript
easyui validatebox验证
2016/04/29 Javascript
BootStrap组件之进度条的基本用法
2017/01/19 Javascript
浅谈js基础数据类型和引用类型,深浅拷贝问题,以及内存分配问题
2017/09/02 Javascript
利用jQuery+localStorage实现一个简易的计时器示例代码
2017/12/25 jQuery
React Native基础入门之调试React Native应用的一小步
2018/07/02 Javascript
js 递归json树实现根据子id查父id的方法分析
2019/11/08 Javascript
JavaScript 实现下雪特效的示例代码
2020/09/09 Javascript
Vue组件简易模拟实现购物车
2020/12/21 Vue.js
Python中 传递值 和 传递引用 的区别解析
2018/02/22 Python
Python的垃圾回收机制详解
2019/08/28 Python
Python中断多重循环的思路总结
2019/10/04 Python
使用Python进行中文繁简转换的实现代码
2019/10/18 Python
python opencv图片编码为h264文件的实例
2019/12/12 Python
Python3 中sorted() 函数的用法
2020/03/24 Python
python opencv实现图片缺陷检测(讲解直方图以及相关系数对比法)
2020/04/07 Python
python 进程池pool使用详解
2020/10/15 Python
HTML5里autofocus自动聚焦属性使用介绍
2016/06/22 HTML / CSS
使用css3 属性如何丰富图片样式(圆角 阴影 渐变)
2012/11/22 HTML / CSS
联想马亚西亚官方网站:Lenovo Malaysia
2018/09/19 全球购物
建筑工程自我鉴定
2013/10/18 职场文书
化学教师教学反思
2014/01/17 职场文书
法学个人求职信范文
2014/01/27 职场文书
说明书怎么写
2014/05/06 职场文书
安全先进班组材料
2014/12/26 职场文书
保密法制宣传月活动总结
2015/05/07 职场文书
解决Swagger2返回map复杂结构不能解析的问题
2021/07/02 Java/Android