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 相关文章推荐
了解Joomla 这款来自国外的php网站管理系统
Mar 11 PHP
PHP函数addslashes和mysql_real_escape_string的区别
Apr 22 PHP
PHP解析html类库simple_html_dom的转码bug
May 22 PHP
php轻松实现中英文混排字符串截取
May 28 PHP
Laravel 5 框架入门(一)
Apr 09 PHP
php项目中百度 UEditor 简单安装调试和调用
Jul 15 PHP
3种php生成唯一id的方法
Nov 23 PHP
PHP设置头信息及取得返回头信息的方法
Jan 25 PHP
Zend Framework自定义Helper类相关注意事项总结
Mar 14 PHP
php 数组随机取值的简单实例
May 23 PHP
php 使用redis锁限制并发访问类示例
Nov 02 PHP
PHP实现基于3DES算法加密解密字符串示例
Aug 24 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数组 为文章加关键字连接 文章内容自动加链接
2011/12/29 PHP
访问编码后的中文URL返回404错误的解决方法
2014/08/20 PHP
php计算两个文件相对路径的方法
2015/03/14 PHP
理解javascript闭包
2015/12/15 Javascript
Jquery判断form表单数据是否变化
2016/03/30 Javascript
Angularjs 自定义服务的三种方式(推荐)
2016/08/02 Javascript
bootstrap 下拉多选框进行多选传值问题代码分析
2017/02/14 Javascript
JS 插件dropload下拉刷新、上拉加载使用小结
2017/04/13 Javascript
vue 使用ref 让父组件调用子组件的方法
2018/02/08 Javascript
JS中call和apply函数用法实例分析
2018/06/20 Javascript
vue 点击展开显示更多(点击收起部分隐藏)
2019/04/09 Javascript
原生javascript运动函数的封装示例【匀速、抛物线、多属性的运动等】
2020/02/23 Javascript
Python SQLAlchemy基本操作和常用技巧(包含大量实例,非常好)
2014/05/06 Python
Python中的urllib模块使用详解
2015/07/07 Python
Python中set与frozenset方法和区别详解
2016/05/23 Python
Python 爬虫模拟登陆知乎
2016/09/23 Python
Python实现将16进制字符串转化为ascii字符的方法分析
2017/07/21 Python
Python机器学习logistic回归代码解析
2018/01/17 Python
Python计算一个给定时间点前一个月和后一个月第一天的方法
2018/05/29 Python
Python中最大递归深度值的探讨
2019/03/05 Python
Python动态强类型解释型语言原理解析
2020/03/25 Python
Python中的wordcloud库安装问题及解决方法
2020/05/27 Python
利用python中的matplotlib打印混淆矩阵实例
2020/06/16 Python
使用Python绘制台风轨迹图的示例代码
2020/09/21 Python
关于python中导入文件到list的问题
2020/10/31 Python
Django通过设置CORS解决跨域问题
2020/11/26 Python
UGG美国官网:购买UGG雪地靴、拖鞋和鞋子
2017/12/31 全球购物
加拿大鞋网:Globo Shoes
2019/12/26 全球购物
施工资料员的岗位职责
2013/12/22 职场文书
11月红领巾广播稿
2014/01/17 职场文书
地球一小时倡议书
2014/04/15 职场文书
农村文化建设标语
2014/10/07 职场文书
2014年化验员工作总结
2014/11/18 职场文书
山楂树之恋观后感
2015/06/11 职场文书
环保主题班会教案
2015/08/13 职场文书
2019年大学生职业生涯规划书
2019/03/25 职场文书