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语法速查表
Dec 06 PHP
介绍几个array库的新函数 php
Dec 29 PHP
php框架Phpbean说明
Jan 10 PHP
mysql数据库差异比较的PHP代码
Feb 05 PHP
kohana框架上传文件验证规则写法示例
Jul 14 PHP
PHP管理依赖(dependency)关系工具 Composer 安装与使用
Aug 18 PHP
初识php MVC
Sep 10 PHP
Zend Framework+smarty用法实例详解
Mar 19 PHP
PHP中类的继承和用法实例分析
May 24 PHP
php_pdo 预处理语句详解
Nov 21 PHP
PHP封装的多文件上传类实例与用法详解
Feb 07 PHP
通过php动态传数据到highcharts
Apr 05 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
php2html php生成静态页函数
2008/12/08 PHP
PHP动态分页函数,PHP开发分页必备啦
2011/11/07 PHP
PHP Global变量定义当前页面的全局变量实现探讨
2013/06/05 PHP
php版银联支付接口开发简明教程
2016/10/14 PHP
PHP实现单文件、多个单文件、多文件上传函数的封装示例
2019/09/02 PHP
php 输出缓冲 Output Control用法实例详解
2020/03/03 PHP
如何取得中文输入的真实长度?
2006/06/24 Javascript
Jquery实战_读书笔记1—选择jQuery
2010/01/22 Javascript
JScript分割字符串示例代码
2013/09/04 Javascript
Jquery创建层显示标题和内容且随鼠标移动而移动
2014/01/26 Javascript
代码获取历史上的今天发生的事
2014/04/11 Javascript
jquery遍历函数siblings()用法实例
2015/12/24 Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
2016/07/28 Javascript
解决vue里碰到 $refs 的问题的方法
2017/07/13 Javascript
JavaScript实现图片拖曳效果
2017/09/08 Javascript
vue init webpack 建vue项目报错的解决方法
2018/09/29 Javascript
Webpack 4如何动态切割JS注入文件名详解
2019/07/09 Javascript
layui table单元格事件修改值的方法
2019/09/24 Javascript
Echarts实现多条折线可拖拽效果
2019/12/19 Javascript
vue中watch和computed为什么能监听到数据的改变以及不同之处
2019/12/27 Javascript
VUE使用 wx-open-launch-app 组件开发微信打开APP功能
2020/08/11 Javascript
uniapp微信小程序实现一个页面多个倒计时
2020/11/01 Javascript
以911新闻为例演示Python实现数据可视化的教程
2015/04/23 Python
使用python进行波形及频谱绘制的方法
2019/06/17 Python
python 进程的几种创建方式详解
2019/08/29 Python
Python selenium如何打包静态网页并下载
2020/08/12 Python
Python之字符串的遍历的4种方式
2020/12/08 Python
解释i节点在文件系统中的作用
2013/11/26 面试题
经典广告词大全
2014/03/14 职场文书
学雷锋月活动总结
2014/04/25 职场文书
党员四风问题对照检查材料
2014/09/27 职场文书
全国法制宣传日活动总结2014
2014/11/01 职场文书
2014年学校办公室工作总结
2014/12/19 职场文书
催款函范文
2015/06/24 职场文书
2015年幼儿园师德师风建设工作总结
2015/10/23 职场文书
postgresql之greenplum字符串去重拼接方式
2023/05/08 PostgreSQL