服务器之家

服务器之家 > 正文

用php的ob_start来生成静态页面的方法分析

时间:2019-11-19 14:01     来源/作者:PHP教程网

虽然方法很多,但使用起来简便容易的,我觉得还是先判断已经生成的首页文件的生成时间和现有时间之间的差值,如果满足某个值就开始生成,这种方法比较来得容易,不多说了,开始吧! 

在开始之前还是提一下三个函数吧:"ob_start()、ob_end_clean()、ob_get_contents()" 

ob_start():是打开缓冲区的,就是要把您需要生成的静态文件的内容缓存在这里; 
ob_get_contents():是读出缓冲区里的内容,下面有代码为例; 
ob_end_clean():这个比较重要,只有使用了这个函数后,缓冲区里的内容才会读取出来;复制内容到剪贴板代码: 

复制代码代码如下:


if(file_exists("./index.htm"))//看静态index.htm文件是否存在 

$time=time(); //文件修改时间和现在时间相差?的话,直接导向htm文件,否则重新生成htm 
if($time-filemtime("./index.htm")< 600) 

header("Location:classhtml/main.htm"); } 


//在你的开始处加入ob_start();CHINAZ 

//首页内容,就是你的动态部分了 

//在结尾加入ob_end_clean(),并把本页输出到一个变量中 
$temp=ob_get_contents(); 
ob_end_clean(); 

//写入文件 
$fp=fopen("./index.htm",'w'); 
fwrite($fp,$temp) or die('写文件错误'); 
//echo"生成HTML完成!"; 



实例代码: 

复制代码代码如下:


<?php 
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; charset=utf-8" /> 
<title><?php echo '编程导航 dh.zzvips.com';?></title> 
</head> 

<body> 
<?php echo "dh.zzvips.com";?> 
</body> 
</html> 
<?php 
$cacheStr=ob_get_contents(); 
$handle=fopen("jb51.html","w"); 
fwrite($handle, $cacheStr); 
ob_clean(); 
?> 

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
运维必须知道的关于云服务器的十个问题
运维必须知道的关于云服务器的十个问题 2019-05-24
返回顶部