实例一:
//ob缓冲
$filename="ob.html";
ob_start();
if(file_exists($filename))
{
echo "缓存页面";
echo "</br>";
echo file_get_contents($filename);
}
else
{
echo "这是要缓存到页面的内容";
$content=ob_get_contents();
$fb=fopen($filename,'w');
fwrite($fb,$content);
fclose($fb);
}
实例二:
<?php
$filename="ob2.html";
if(file_exists($filename))
{
echo "缓存中读取的";
$files=file_get_contents($filename);
echo $files;die;
}
else
{
$dsn = "mysql:host=127.0.0.1;dbname=php8_ecshop";
$db = new PDO($dsn, 'root','root');
$rs = $db->query("SELECT * FROM ecs_users");
$rs->setFetchMode(PDO::FETCH_ASSOC);
$arr = $rs->fetchAll();
//首先要开启缓冲
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" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Document</title>
</head>
<body>
<table border="1">
<tr>
<td>用户ID</td>
<td>用户邮箱</td>
<td>用户姓名</td>
</tr>
<?php
foreach($arr as $val)
{
?>
<tr>
<td><?php echo $val['user_id']?></td>
<td><?php echo $val['email']?></td>
<td><?php echo $val['user_name']?></td>
</tr>
<?php
}
?>
</table>
</body>
</html>
<?php
//获取ob缓冲的数据
$content=ob_get_contents();
//创建文件
$filename="ob2.html";
//写入文件
file_put_contents($filename,$content);
?>
实例一与实例二中
$fb=fopen($filename,'w');
fwrite($fb,$content);
fclose($fb);
与
file_put_contents($filename,$content);
意义一样,写入文件