当前位置:首页 > PHP教程 > php高级应用 > 列表

PHP使用OB缓存实现静态化功能示例

发布:smiling 来源: PHP粉丝网  添加日期:2021-11-14 10:18:36 浏览: 评论:0 

这篇文章主要介绍了PHP使用OB缓存实现静态化功能,结合具体实例形式分析了php基于OB缓存读取数据库并生成静态文件相关操作技巧,需要的朋友可以参考下。

本文实例讲述了PHP使用OB缓存实现静态化功能,分享给大家供大家参考,具体如下:

实现步骤

1、创建测试数据表并且写入数据

2、实现后台的更新操作,使用OB缓存针对每一个内容生成对应的HTML文件

3、显示前台的数据信息

具体实现

①创建测试数据表并且写入数据(test.sql文件):

  1. #创建数据表 
  2. create table news( 
  3.  id int auto_increment, 
  4.  title varchar(100) not null default ''
  5.  body text, 
  6.  primary key(id) 
  7. )engine =myisam default charset=utf8; 
  8. #数据写入 
  9. insert into news values(null,'静态化','静态化可以减少服务器压力'),(null,'伪静态','伪静态能够满足SEO优化'); 

②实现后台的更新操作(admin.php文件)

  1. <?php 
  2.  //具体的后台更新 
  3.  //获取所有的数据信息 
  4.  mysql_connect('127.0.0.1','root','123456'); 
  5.  mysql_select_db('test'); 
  6.  $sql='select * from news'
  7.  $res = mysql_query($sql); 
  8.  while ($row=mysql_fetch_assoc($res)) { 
  9.  //针对每一条数据生成html文件 
  10.  ob_start();//开启OB缓存 
  11. ?> 
  12. <!DOCTYPE html> 
  13. <html lang="en"
  14. <head> 
  15.  <meta charset="utf-8"
  16.  <title>静态化介绍</title> 
  17. </head> 
  18. <body> 
  19.  <h1><?php echo $row['title']; ?></h1> 
  20.  <div><?php echo $row['body']; ?></div> 
  21. </body> 
  22. </html> 
  23. <?php 
  24.  //获取OB缓存中的内容 
  25.  $str = ob_get_contents(); 
  26.  //关闭OB缓存并且清空内容。因为如果不清空浏览器上会看到所有的数据结果 
  27.  ob_end_clean(); 
  28.  //将信息写入到文件中 关于具体的文件目录及文件名称需要自定义 
  29.  //对于在实际项目中关于html文件的存储 一般都会使用年月日的格式存在 
  30.  file_put_contents($row['id'].'.html',$str); 
  31. ?> 

③实现前台数据显示(list.php文件):

  1. <?php 
  2.  //显示列表 
  3.  //获取所有的数据信息 
  4.  mysql_connect('127.0.0.1','root','123456'); 
  5.  mysql_select_db('test'); 
  6.  $sql='select * from news'
  7.  $res = mysql_query($sql); 
  8. ?> 
  9. <!DOCTYPE html> 
  10. <html lang="en"
  11. <head> 
  12.  <meta charset="utf-8"
  13.  <title>静态化介绍</title> 
  14. </head> 
  15. <body> 
  16.  <h1>显示列表</h1> 
  17.  <table> 
  18.  <tr> 
  19.   <td>序号</td> 
  20.   <td>标题</td> 
  21.   <td>查看</td> 
  22.  </tr> 
  23.  <?php while ($row =mysql_fetch_assoc($res)) {?> 
  24.  <tr> 
  25.   <td><?php echo $row['id']; ?></td> 
  26.   <td><?php echo $row['title']; ?></td> 
  27.   <td><a href="<?php echo $row['id'];?>.html" rel="external nofollow" > 查看</a></td> 
  28.  </tr> 
  29.  <?php } ?> 
  30.  </table> 
  31. </body> 
  32. </html>

Tags: OB缓存 PHP静态化

分享到: