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

2015-01-24信息快讯网

php下利用ob_start来生成静态页面的方法,需要生成静态的朋友可以参考下。

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

在开始之前还是提一下三个函数吧:"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.jb51.net';?></title> 
</head> 

<body> 
<?php echo "dh.jb51.net";?> 
</body> 
</html> 
<?php 
$cacheStr=ob_get_contents(); 
$handle=fopen("jb51.html","w"); 
fwrite($handle, $cacheStr); 
ob_clean(); 
?> 
php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
深入了解 register_globals (附register_globals=off 网站打不开的解决方法)
PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
PHP对象Object的概念 介绍
PHP序列号生成函数和字符串替换函数代码
PHP Parse Error: syntax error, unexpected $end 错误的解决办法
php 函数中使用static的说明
PHP file_exists问题杂谈
Notice: Trying to get property of non-object problem(PHP)解决办法
PHP运行出现Notice : Use of undefined constant 的完美解决方案分享
PHP类的静态(static)方法和静态(static)变量使用介绍
PHP备份数据库生成SQL文件并下载的函数代码
PHP将整个网站生成HTML纯静态网页的方法总结
PHP中register_globals参数为OFF和ON的区别(register_globals 使用详解)
php摘要生成函数(无乱码)
PHP逐行输出(ob_flush与flush的组合)
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
WordPress判断用户是否登录的代码
PHP用GD库生成高质量的缩略图片
php提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别
.htaccess文件保护实例讲解
PHP中利用substr_replace将指定两位置之间的字符替换为*号
兼容性最强的PHP生成缩略图的函数代码(修改版)
php生成随机密码的几种方法
兼容性比较好的PHP生成缩略图的代码
php !function_exists("T7FC56270E7A70FA81A5935B72EACBE29"))代码解密
Discuz Uchome ajaxpost小技巧
PHP strncasecmp字符串比较的小技巧
纯php打造的tab选项卡效果代码(不用js)
smarty中先strip_tags过滤html标签后truncate截取文章运用
PHP类中Static方法效率测试代码
php表单转换textarea换行符的方法
php生成随机密码的三种方法小结
php ob_flush,flush在ie中缓冲无效的解决方法
用PHP ob_start()控制浏览器cache、生成html实现代码
©2014-2024 dbsqp.com