cf2000 发表于 2017-12-30 12:42:29

php静态缓存简单制作

<?php  
$filename = "./cache/test.html";
  

  
//定义缓存有效期
  
$cachetime = 5;
  

  
//判断缓存文件是否存在
  
if(!file_exists($filename) || filemtime($filename)+$cachetime<time())//filemtime($filename)获取文件修改时间,加上定义的缓存时间小于当前时间
  
{
  //开启内存缓存
  ob_start();
  

  
?>
  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  
<html xmlns="http://www.w3.org/1999/xhtml">
  
<head>
  
<meta http-equiv="Content-Type" content="text/html; " />
  
<title>无标题文档</title>
  
</head>
  

  
<body>
  

  
<h1>水果信息表</h1>

  
<table>  <tr>
  <td>代号</td>
  <td>名称</td>
  <td>价格</td>
  <td>产地</td>
  <td>库存</td>
  <td>操作</td>
  </tr>
  <?php
  //造连接对象
  $db = new MySQLi("localhost","root","123","mydb");
  //写SQL语句
  $sql = "select * from fruit";
  //执行
  $result = $db->query($sql);
  //取数据
  /*$attr = $result->fetch_all();
  foreach($attr as $v)
  {
  echo "<tr><td>{$v}</td><td>{$v}</td><td>{$v}</td><td>{$v}</td><td>{$v}</td></tr>";
  }*/
  while($attr = $result->fetch_row())
  {
  echo "<tr><td>{$attr}</td><td>{$attr}</td><td>{$attr}</td><td>{$attr}</td><td>{$attr}</td><td>

  <a href='shanchu.php?code={$attr}'>  删除
  </a>
  <a href='xiugai.php?code={$attr}'>修改</a>
  </td></tr>";
  }
  ?>
  

  
</table>
  
<a href="add.php">添加数据</a>
  

  
</body>
  
</html>
  

  

  
<?php
  //从内存缓存中获取页面代码
  $content = ob_get_contents();
  //将获取到的内容存放到缓存文件
  file_put_contents($filename,$content);
  //清掉内存缓存
  ob_flush();
  echo "######################################";//测试是否调用了缓存文件,缓存文件不输出这句话
  

  
}
  
else
  
{
  include($filename);//如果存在,调用缓存文件
  
}
  

  
?>
  
页: [1]
查看完整版本: php静态缓存简单制作