PHP将整个网站生成HTML纯静态网页的方法总结
前端之家收集整理的这篇文章主要介绍了
PHP将整个网站生成HTML纯静态网页的方法总结,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
<div class="codetitle"><a style="CURSOR: pointer" data="8407" class="copybut" id="copybut8407" onclick="doCopy('code8407')"> 代码如下:
<div class="codebody" id="code8407">
<?
PHP //在你的开始处加入 ob_start();
ob_start(); //以下是你的
代码 //在结尾加入 ob_end_clean(),并把本页
输出到一个变量中
$temp = ob_get_contents();
ob_end_clean(); //写入
文件 $fp = fopen(‘
文件名','w');
fwrite($fp,$temp) or die(‘写
文件错误');
?>
这只是最基本的
方法,还不是很实用,因为网站是要更新的,要定期重新
生成HTML 下面是我用的
方法:
<div class="codetitle">
<a style="CURSOR: pointer" data="121" class="copybut" id="copybut121" onclick="doCopy('code121')"> 代码如下: <div class="codebody" id="code121">
if(file_exists(“xxx.html”))
{
$time = time(); //
文件修改时间和现在时间相差半小时一下的话,直接导向html
文件,否则重新
生成html
if($time - filemtime(“xxx.html”) < 30*60)
{
header(“Location:xxx.html”);
}
}
//在你的开始处加入 ob_start();
ob_start(); //
页面的详细
内容 //在结尾加入 ob_end_clean(),并把本页
输出到一个变量中
$temp = ob_get_contents();
ob_end_clean(); //写入
文件 $fp = fopen(‘xxx.html',$temp) or die(‘写
文件错误'); //重新导向
header(“Location:xxx.html”);
下面是一些用到的
函数的介绍:
1、Flush:刷新缓冲区的
内容,
输出。
函数格式:flush()
说明:这个
函数经常使用,效率很高。 2、ob_start :打开
输出缓冲区
函数格式:void ob_start(void)
说明:当缓冲区激活时,所有来自
PHP程序的非
文件头信息均不会发送,而是保存在内部缓冲区。为了
输出缓冲区的
内容,可以使用ob_end_flush()或flush()
输出缓冲区的
内容。
3 、ob_get_contents :返回内部缓冲区的
内容。
使用
方法:string ob_get_contents(void)
说明:这个
函数会返回当前缓冲区中的
内容,如果
输出缓冲区没有激活,则返回 FALSE 。
4、ob_get_length:返回内部缓冲区的长度。
使用
方法:int ob_get_length(void)
说明:这个
函数会返回当前缓冲区中的长度;和ob_get_contents一样,如果
输出缓冲区没有激活。则返回 FALSE。
5、ob_end_flush :发送内部缓冲区的
内容到浏览器,并且
关闭输出缓冲区。
使用
方法:void ob_end_flush(void)
说明:这个
函数发送
输出缓冲区的
内容(如果有的话)。
6、ob_end_clean:
删除内部缓冲区的
内容,并且
关闭内部缓冲区
使用
方法:void ob_end_clean(void)
说明:这个
函数不会
输出内部缓冲区的
内容而是把它
删除!
7、ob_implicit_flush:打开或
关闭绝对刷新
使用
方法:void ob_implicit_flush ([int flag])
说明:使用过Perl的人都知道$|=x的意义,这个字符串可以打开/
关闭缓冲区,而ob_implicit_flush
函数也和那个一样,默认为
关闭缓冲区,打开绝对
输出后,每个脚本
输出都直接发送到浏览器,不再需要
调用 flush().
原文链接:https://www.f2er.com/php/27345.html