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 memcache扩展的三种安装方法
Apr 26 PHP
php 广告调用类代码(支持Flash调用)
Aug 11 PHP
基于PHP输出缓存(output_buffering)的深入理解
Jun 13 PHP
ThinkPHP中的关联模型注意点
Jun 16 PHP
php之readdir函数用法实例
Nov 13 PHP
laravel容器延迟加载以及auth扩展详解
Mar 02 PHP
php判断对象是派生自哪个类的方法
Jun 20 PHP
php获取、检查类名、函数名、方法名的函数方法
Jun 25 PHP
yii2中添加验证码的实现方法
Jan 09 PHP
php实现用户注册密码的crypt加密
Jun 08 PHP
PHP底层运行机制与工作原理详解
Jul 31 PHP
Yii中特殊行为ActionFilter的使用方法示例
Oct 18 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
海贼王:最美的悬赏令!
2020/03/02 日漫
libmysql.dll与php.ini是否真的要拷贝到c:\windows目录下呢
2010/03/15 PHP
php数组对百万数据进行排除重复数据的实现代码
2010/06/08 PHP
php获取服务器信息的实现代码
2013/02/04 PHP
thinkphp四种url访问方式详解
2014/11/28 PHP
PHP正则表达式过滤html标签属性(DEMO)
2016/05/04 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
jquery 操作单选框,复选框,下拉列表实现代码
2009/10/27 Javascript
jquery限制输入字数,并提示剩余字数实现代码
2012/12/24 Javascript
JS中获取数据库中的值的方法
2013/07/14 Javascript
jQuery插件cxSelect多级联动下拉菜单实例解析
2016/06/24 Javascript
Javascript 动态改变imput type属性
2016/11/01 Javascript
angular select 默认值设置方法
2017/06/23 Javascript
基于Cookie常用操作以及属性介绍
2017/09/07 Javascript
详解vue中引入stylus及报错解决方法
2017/09/22 Javascript
angularjs 页面自适应高度的方法
2018/01/17 Javascript
Vue中CSS动画原理的实现
2019/02/13 Javascript
JS算法题之查找数字在数组中的索引位置
2019/05/15 Javascript
vue 通过 Prop 向子组件传递数据的实现方法
2020/10/30 Javascript
React Ant Design树形表格的复杂增删改操作
2020/11/02 Javascript
python控制台显示时钟的示例
2014/02/24 Python
在Python中marshal对象序列化的相关知识
2015/07/01 Python
caffe binaryproto 与 npy相互转换的实例讲解
2018/07/09 Python
python实现换位加密算法的示例
2018/10/14 Python
Django框架model模型对象验证实现方法分析
2019/10/02 Python
tensorflow 实现从checkpoint中获取graph信息
2020/02/10 Python
Python 输出详细的异常信息(traceback)方式
2020/04/08 Python
Python捕获异常堆栈信息的几种方法(小结)
2020/05/18 Python
使用Python爬取Json数据的示例代码
2020/12/07 Python
详解CSS3中@media的实际使用
2015/08/04 HTML / CSS
写一个在SQL Server创建表的SQL语句
2012/03/10 面试题
总会计师岗位职责
2014/02/19 职场文书
项目负责人任命书
2014/06/04 职场文书
机动车登记业务委托书
2014/10/08 职场文书
档案工作个人总结
2015/03/03 职场文书
2016年度师德标兵先进事迹材料
2016/02/26 职场文书