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中上传大体积文件时需要的设置
Oct 09 PHP
PHP新手上路(七)
Oct 09 PHP
PHP学习之整理字符串
Apr 17 PHP
PHP基础知识回顾
Aug 16 PHP
php中0,null,empty,空,false,字符串关系的详细介绍
Jun 20 PHP
CURL状态码列表(详细)
Jun 27 PHP
php计算title标题相似比的方法
Jul 29 PHP
PHP测试成功的邮件发送案例
Oct 26 PHP
PHP内核探索之变量
Dec 22 PHP
thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法
May 19 PHP
php使用glob函数遍历文件和目录详解
Sep 23 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
Dec 01 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 页面编码声明方法详解(header或meta)
2010/03/12 PHP
Linux下PHP安装mcrypt扩展模块笔记
2014/09/10 PHP
Thinkphp框架中D方法与M方法的区别
2016/12/23 PHP
js匿名函数的调用示例(形式多种多样)
2014/08/20 Javascript
JavaScript的类型、值和变量小结
2015/07/09 Javascript
理解JavaScript事件对象
2016/01/25 Javascript
JavaScript 实现的checkbox经典实例分享
2016/10/16 Javascript
详解Jquery 遍历数组之$().each方法与$.each()方法介绍
2017/01/09 Javascript
微信小程序 跳转方式总结
2017/04/20 Javascript
在React中如何优雅的处理事件响应详解
2017/07/24 Javascript
JavaScript事件处理程序详解
2017/09/19 Javascript
Vue添加请求拦截器及vue-resource 拦截器使用
2017/11/23 Javascript
解决angular2 获取到的数据无法实时更新的问题
2018/08/31 Javascript
实现elementUI表单的全局验证的方法步骤
2019/04/29 Javascript
Python中文竖排显示的方法
2015/07/28 Python
Python实现变量数值交换及判断数组是否含有某个元素的方法
2017/09/18 Python
利用python操作SQLite数据库及文件操作详解
2017/09/22 Python
Python使用Selenium+BeautifulSoup爬取淘宝搜索页
2018/02/24 Python
Python数据结构之图的应用示例
2018/05/11 Python
python xlsxwriter创建excel图表的方法
2018/06/11 Python
解决python多行注释引发缩进错误的问题
2019/08/23 Python
Python爬虫实现模拟点击动态页面
2020/03/05 Python
安装Anaconda3及使用Jupyter的方法
2020/10/27 Python
python 多线程中join()的作用
2020/10/29 Python
Python并发爬虫常用实现方法解析
2020/11/19 Python
英国电子产品购物网站:Tech in the basket
2019/11/08 全球购物
毕业生文员求职信
2013/11/03 职场文书
应届生英语教师求职信
2013/11/05 职场文书
国家励志奖学金获奖感言
2014/01/09 职场文书
集体婚礼证婚词
2014/01/13 职场文书
雪山饭庄的创业计划书范文
2014/01/18 职场文书
《童年》教学反思
2014/02/18 职场文书
授权委托书范本
2014/04/03 职场文书
初中运动会前导词
2015/07/20 职场文书
MySQL通过binlog恢复数据
2021/05/27 MySQL
JS函数式编程实现XDM一
2022/06/16 Javascript