用php的ob_start来生成静态页面的方法分析
作者:bea
虽然方法很多,但使用起来简便容易的,我觉得还是先判断已经生成的首页文件的生成时间和现有时间之间的差值,如果满足某个值就开始生成,这种方法比较来得容易,不多说了,开始吧! 在开始之前还是提一下三个函数吧:"ob_start()、ob_end_clean()、ob_get_contents()" ob_start():是打开缓冲区的,就是要把您需要生成的静态文件的内容缓存在这里; ob_get_contents():是读出缓冲区里的内容,下面有代码为例; ob_end_clean
虽然方法很多,但使用起来简便容易的,我觉得还是先判断已经生成的首页文件的生成时间和现有时间之间的差值,如果满足某个值就开始生成,这种方法比较来得容易,不多说了,开始吧!
在开始之前还是提一下三个函数吧:"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.';?></title>
</head>
<body>
<?php echo "dh.";?>
</body>
</html>
<?php
$cacheStr=ob_get_contents();
$handle=fopen(".html","w");
fwrite($handle, $cacheStr);
ob_clean();
?>
有用 | 无用
在开始之前还是提一下三个函数吧:"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.';?></title>
</head>
<body>
<?php echo "dh.";?>
</body>
</html>
<?php
$cacheStr=ob_get_contents();
$handle=fopen(".html","w");
fwrite($handle, $cacheStr);
ob_clean();
?>
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- 优化php效率,提高php性能的一些方法
- php 代码优化之经典示例
- php模拟asp中的XmlHttpRequest实现http请求的代码
- php邮件发送,php发送邮件的类
- 一个基于PDO的数据库操作类
- Zend Studio (eclipse)使用速度优化方法
- 常见的PHP五种设计模式小结
- PHP面向接口编程 耦合设计模式 简单范例
- PHP中用接口、抽象类、普通基类实现“面向接口编程”与“耦合方法”简述
- php中取得URL的根域名的代码
- PHP+JS+rsa数据加密传输实现代码
- PHP 事件机制(2)
- php函数之子字符串替换 str_replace
- php expects parameter 1 to be resource, array given 错误
- php去掉字符串的最后一个字符附substr()的用法
- PHPUnit PHP测试框架安装方法
- 开启CURL扩展,让服务器支持PHP curl函数(远程采集)
- windows下开发并编译PHP扩展的方法
- WordPress判断用户是否登录的代码