用PHP生成静态HTML速度快类库
用PHP生成静态HTML速度快类库
发布时间:2016-12-29 来源:查字典编辑
摘要:复制代码代码如下:ob_start();#开启服务器缓存include_once'Index.php';$ctx=ob_get_conten...

复制代码 代码如下:

ob_start();#开启服务器缓存

include_once 'Index.php';

$ctx=ob_get_contents();# 获取缓存

ob_end_clean();#清空缓存

$fh=fopen("index.html","w+");

fwrite($fh,$ctx);# 写入html,生成html

fclose($fh);

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])

复制代码 代码如下:

<?php

///////////////////////////////////////////////////////////////////////////////

//

// 张树林 - 慧佳工作室

//

// Module Name: woods-bhtml.php

// Abstract: 生成静态HTML处理程序尾底

// Version: 2.0

// Date 1006-11-25

// Author: woods·zhang

// Website: http://www.hoojar.com/

// Email: hoojar@53.com

// MSN: hoojar@hotmail.com

// Copyright 1001-1006, Hoojar studio All Rights Reserved

//

// 版权 1001-1006,慧佳工作室所有版权保护

//The software for free software, allowing use, copy,

//modify and distribute the software and files. Any

//use of this software must place a copy of all the

//above copyright notice. By the software Huijia studio

//maintenance, if you have any queries please contact us.

//Thank you.

//

//此软件为自由软件,允许使用、拷贝、修改、分发本软件及其文档。

//任何使用此软件的地方都得出现以上版权通告所有副本。此软件由

//慧佳工作室维护,如果您有什么疑问请与我们联系。谢谢使用。

//

///////////////////////////////////////////////////////////////////////////////

//此文件只能加载在程序的最尾

/*________________生成HTML文件______________________beign________________________________*/

if ($make_html)

{

$buffer = ob_get_flush();

if ($go_html)//是否直接转到HTML文件显示还是PHP读得内容输出(0:php读内容输出1:直接转)

{

/*__________处理因生成了HTML文件而产生的种径问题____________________begin_______________*/

$search = array(

"/(src=|action=|href=|ajaxRead()"/ie",

"/.../e",

"/././e",

"/../http:///ies",

"/../#/",

"/'.'/e",

"/../javascript:/ies");

$replace = array(

"'1"../'",

"'..'",

"'.'",

"'http://'",

"#",

"''..''",

"'javascript:'");

$buffer = preg_replace($search, $replace, $buffer);

/*__________处理因生成了HTML文件而产生的种径问题____________________end_______________*/

}

$fp = fopen(HTML_FILE, "w");

if ($fp)

{

fwrite($fp, $buffer);

fclose($fp);

}

}

/*________________生成HTML文件______________________beign________________________________*/

?>

<?php

///////////////////////////////////////////////////////////////////////////////

//

// 张树林 - 慧佳工作室

//

// Module Name: woods-thtml.php

// Abstract: 生成静态HTML处理程序头

// Version: 2.0

// Date 1006-11-25

// Author: woods·zhang

// Website: http://www.hoojar.com/

// Email: hoojar@53.com

// MSN: hoojar@hotmail.com

// Copyright 1001-1006, Hoojar studio All Rights Reserved

//

// 版权 1001-1006,慧佳工作室所有版权保护

//The software for free software, allowing use, copy,

//modify and distribute the software and files. Any

//use of this software must place a copy of all the

//above copyright notice. By the software Huijia studio

//maintenance, if you have any queries please contact us.

//Thank you.

//

//此软件为自由软件,允许使用、拷贝、修改、分发本软件及其文档。

//任何使用此软件的地方都得出现以上版权通告所有副本。此软件由

//慧佳工作室维护,如果您有什么疑问请与我们联系。谢谢使用。

//

///////////////////////////////////////////////////////////////////////////////

//此文件只能加载在程序的开头

ob_start();

/*___________判断是否已生成了HTML文件,若生成了则跳转到HTML页面___________begin__________*/

$qstring = isset($_SERVER["QUERY_STRING"]) ? $_SERVER["QUERY_STRING"] : "";

if ($qstring)//程序加了GET请求的处理

{

$qstring = str_replace("=", "", $qstring);

define("HTML_FILE", "./h/{$efilename}-{$qstring}.html");

}

else

{

define("HTML_FILE", "./h/{$efilename}.html");

}

if (file_exists(HTML_FILE))

{

$lcft = filemtime(HTML_FILE);//last create file time

if (($lcft + 3600) > time())//判断上次生成HTML文件是否以过去1时间,若没有才直接输出文件内容

{

if ($show_html)//是否以HTML静态页面展示(0不以HTML展显1以html展显)

{

if ($go_html)//是否直接转到HTML文件显示还是PHP读得内容输出(0:php读内容输出1:直接转)

{

header("Location: " . HTML_FILE);//直接转

}

else

{

echo(file_get_contents(HTML_FILE));//读出展显

}

exit(0);

}

}

}

/*___________判断是否已生成了HTML文件,若生成了则跳转到HTML页面___________end__________*/

?>

<?php

///////////////////////////////////////////////////////////////////////////////

//

// 张树林 - 慧佳工作室

//

// Module Name: index.php

// Abstract: 首页信息

// Version: 1.0

// Date 2006-11-7

// Author: woods·zhang

// Website: http://www.hoojar.com/

// Cemail: hoojar@163.com

// MSN: hoojar@hotmail.com

// Copyright 2001-2006, Hoojar studio All Rights Reserved

//

// 版权 2001-2006,慧佳工作室所有版权保护

//The software for free software, allowing use, copy,

//modify and distribute the software and files. Any

//use of this software must place a copy of all the

//above copyright notice. By the software Huijia studio

//maintenance, if you have any queries please contact us.

//Thank you.

//

//此软件为自由软件,允许使用、拷贝、修改、分发本软件及其文档。

//任何使用此软件的地方都得出现以上版权通告所有副本。此软件由

//慧佳工作室维护,如果您有什么疑问请与我们联系。谢谢使用。

//

///////////////////////////////////////////////////////////////////////////////

require("woods-thtml.php");//生成HTML处理头

//if (count($_GET) < 1 && count($_POST) < 1){require("woods-thtml.php");}//生成HTML处理头

require("{$exec_file}");//注册语言定义文件

foreach ($lang as $key => $value)

{

$atpl[strtoupper($key) ."_LANG"] = $value;

}

/*____________________________________列表常识向上走的项__________________end_____________________*/

include("woods-templates.php");

$tpl = new WoodsTpl("./templates/");

$tpl->require_tpl("header.html");

$tpl->set_file();

$tpl->block("EBCORP", $scorp);

$tpl->block("NEWS", $news);

$tpl->block("PRODUCT", $product);

$tpl->block("EBPNAME_MSG", $spname);

$tpl->block("LORE", $lore);

$tpl->require_tpl("footer.html");

$tpl->parse($atpl, true);

$tpl = NULL;

/*________________模板操作_________________________end___________________________________*/

require("woods-bhtml.php");//生成HTML处理尾

?>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类