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中PDO解决中文乱码问题的一些补充
Sep 06 PHP
php代码收集表单内容并写入文件的代码
Jan 29 PHP
PHP乱码问题,UTF-8乱码常见问题小结
Apr 09 PHP
php中使用$_REQUEST需要注意的一个问题
May 02 PHP
浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法
Jun 29 PHP
浅析PHP的静态成员函数效率更高的原因
Jun 13 PHP
ThinkPHP实现二级循环读取的方法
Nov 03 PHP
PHP下载远程文件到本地存储的方法
Mar 24 PHP
php判断两个日期之间相差多少个月份的方法
Jun 18 PHP
PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
Aug 17 PHP
简单概括PHP的字符串中单引号与双引号的区别
May 07 PHP
PHP PDOStatement::fetchObject讲解
Feb 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
超人钢铁侠联手合作?美漫作家呼吁DC漫威合作联动以抵抗疫情
2020/04/09 欧美动漫
php中获取关键词及所属来源搜索引擎名称的代码
2011/02/15 PHP
windows下zendframework项目环境搭建(通过命令行配置)
2012/12/06 PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
2014/05/10 PHP
简单谈谈php中的unicode和utf8编码
2015/06/10 PHP
php实现只保留mysql中最新1000条记录
2015/06/18 PHP
php 常用的系统函数
2017/02/07 PHP
PHP实现的下载远程文件类定义与用法示例
2017/07/05 PHP
常用参考资料(手册)下载或者链接
2006/07/22 Javascript
jQuery 美元符冲突的解决方法
2010/03/28 Javascript
JQUERY dialog的用法详细解析
2013/12/19 Javascript
JavaScript中的getTime()方法使用详解
2015/06/10 Javascript
jQuery中checkbox反复调用attr('checked', true/false)只有第一次生效的解决方法
2016/11/16 Javascript
深入浅析Vue组件开发
2016/11/25 Javascript
原生js实现键盘控制div移动且解决停顿问题
2016/12/05 Javascript
bootstrap datepicker插件默认英文修改为中文
2017/07/28 Javascript
微信小程序实现获取小程序码和二维码java接口开发
2019/03/29 Javascript
Easyui 去除jquery-easui tab页div自带滚动条的方法
2019/05/10 jQuery
nodejs二进制与Buffer的介绍与使用
2019/07/11 NodeJs
移动端JS实现拖拽两种方法解析
2020/10/12 Javascript
python函数中return后的语句一定不会执行吗?
2017/07/06 Python
django admin添加数据自动记录user到表中的实现方法
2018/01/05 Python
Python Unittest自动化单元测试框架详解
2018/04/04 Python
Pycharm导入Python包,模块的图文教程
2018/06/13 Python
Python实现合并两个有序链表的方法示例
2019/01/31 Python
Python创建或生成列表的操作方法
2019/06/19 Python
Python函数生成器原理及使用详解
2020/03/12 Python
python语言是免费还是收费的?
2020/06/15 Python
可爱的童装和鞋子:Fabkids
2019/08/16 全球购物
不假外出检讨书
2014/01/27 职场文书
三个儿子教学反思
2014/02/03 职场文书
授权收款委托书
2014/09/23 职场文书
公司门卫岗位职责
2015/04/13 职场文书
岗位聘任协议书
2015/09/21 职场文书
2016年“世界气象日”广播稿
2015/12/17 职场文书
详解NodeJS模块化
2021/06/15 NodeJs