php静态化页面
从数据库读取数据,然后通过模板输出到缓冲区,通过
ob_get_clean()或者ob_get_contents()抓取缓冲区内容,通过file_put_contents ()函数将得到的缓冲区内容读入一个静态页面中输出
45.php
<?php if(is_file("45tmp.html") && (time()-filemtime("45tmp.html"))<=30){ //如果文件存在且上次修改时间小于30s require("45tmp.html"); } else{ $pdo=new PDO("mysql:host=localhost;dbname=chaoshi","root","root"); $sth=$pdo->prepare("SELECT * FROM LIUYAN ORDER BY id ASC LIMIT 5 "); $sth->execute(); $res=$sth->fetchAll(); ob_start(); require_once("45tmp.php"); //包含模板文件 $filec=file_put_contents("45tmp.html",ob_get_clean()); //ob_get_clean()获取当前缓冲区内容并清除当前的输出缓冲,ob_get_contents()只是得到输出缓冲区的内容,但不清除它 if($filec){ echo "success"; } else{ echo "fail"; } } |
45tmp.php
<table> <?php foreach($res as $row){ ?> <tr> <td><?php echo $row['id'] ?> </td> <td><?php echo $row['name'] ?> </td> <td><?php echo $row['sex'] ?> </td> <td><?php echo $row['content'] ?> </td> </tr> <?php } ?> </table> |