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桌面中心(一) 创建数据库
Mar 11 PHP
php中定义网站根目录的常用方法
Aug 08 PHP
php语言流程控制中的主动与被动
Nov 05 PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
Jan 03 PHP
PHP中读取文件的8种方法和代码实例
Aug 05 PHP
十幅图告诉你什么是PHP引用
Feb 22 PHP
php表单提交实例讲解
Nov 12 PHP
PHP 在数组中搜索给定的简单实例 array_search 函数
Jun 13 PHP
PHP实现的自定义数组排序函数与排序类示例
Nov 18 PHP
PHP 与 UTF-8 的最佳实践详细介绍
Jan 04 PHP
yii2 上传图片的示例代码
Nov 02 PHP
ThinkPHP框架实现FTP图片上传功能示例
Apr 08 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执行速率优化技巧小结
2008/03/15 PHP
ASP和PHP实现生成网站快捷方式并下载到桌面的方法
2014/05/08 PHP
PHP实现对文件锁进行加锁、解锁操作的方法
2017/07/04 PHP
php 实现简单的登录功能示例【基于thinkPHP框架】
2019/12/02 PHP
JS图片预加载 JS实现图片预加载应用
2012/12/03 Javascript
jquery加载图片时以淡入方式显示的方法
2015/01/14 Javascript
js实现横向百叶窗效果网页切换动画效果的方法
2015/03/02 Javascript
jQuery简单实现两级下拉菜单效果代码
2015/09/15 Javascript
微信小程序scroll-view实现横向滚动和上拉加载示例
2017/03/06 Javascript
Vue.js鼠标悬浮更换图片功能
2017/05/17 Javascript
javascript ES6 新增了let命令使用介绍
2017/07/07 Javascript
Vue 电商后台管理项目阶段性总结(推荐)
2020/08/22 Javascript
React Ant Design树形表格的复杂增删改操作
2020/11/02 Javascript
vscode自定义vue模板的实现
2021/01/27 Vue.js
学习python 之编写简单乘法运算题
2016/02/27 Python
Python使用Srapy框架爬虫模拟登陆并抓取知乎内容
2016/07/02 Python
python tornado微信开发入门代码
2018/08/24 Python
python实现机器学习之多元线性回归
2018/09/06 Python
详解如何在Apache中运行Python WSGI应用
2019/01/02 Python
给Python学习者的文件读写指南(含基础与进阶)
2020/01/29 Python
以SQLite和PySqlite为例来学习Python DB API
2020/02/05 Python
Django 再谈一谈json序列化
2020/03/16 Python
Jupyter notebook如何修改平台字体
2020/05/13 Python
Python爬虫使用bs4方法实现数据解析
2020/08/25 Python
python 下载文件的几种方法汇总
2021/01/06 Python
美国知名户外用品畅销中心:Sierra Trading Post
2016/07/19 全球购物
八皇后问题,输出了所有情况,不过有些结果只是旋转了90度
2016/08/15 面试题
体育教育个人自荐信范文
2013/12/01 职场文书
简单英文演讲稿
2014/01/01 职场文书
三年级语文教学反思
2014/02/01 职场文书
趣味活动策划方案
2014/02/08 职场文书
工会主席岗位责任制
2014/02/11 职场文书
三字经教学反思
2014/04/26 职场文书
2014年学生会部门工作总结
2014/11/07 职场文书
人事局接收函
2015/01/30 职场文书
html用代码制作虚线框怎么做? dw制作虚线圆圈的技巧
2022/12/24 HTML / CSS