用PHP生成静态HTML速度快类库


Posted in PHP onMarch 18, 2007
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 相关文章推荐
一个多文件上传的例子(原创)
Oct 09 PHP
网络资源
Oct 09 PHP
php防注
Jan 15 PHP
PHPMyadmin 配置文件详解(配置)
Dec 03 PHP
为PHP初学者的8点有效建议
Nov 20 PHP
Window 7/XP 安装Apache 2.4与PHP 5.4 的过程详解
Jun 02 PHP
php使浏览器直接下载pdf文件的方法
Nov 15 PHP
PHP数据库链接类(PDO+Access)实例分享
Dec 05 PHP
php 获取SWF动画截图示例代码
Feb 10 PHP
PHP读取txt文本文件并分页显示的方法
Mar 11 PHP
微信支付开发维权通知实例
Jul 12 PHP
thinkPHP的表达式查询用法详解
Sep 14 PHP
PHP实现采集程序原理和简单示例代码
Mar 18 #PHP
Dedecms V3.1 生成HTML速度的优化办法
Mar 18 #PHP
dedecms模板标签代码官方参考
Mar 17 #PHP
收集的DedeCMS一些使用经验
Mar 17 #PHP
dedecms防止FCK乱格式化你的代码的修改方法
Mar 17 #PHP
dedecms采集中可以过滤多行代码的正则表达式
Mar 17 #PHP
php中文本操作的类
Mar 17 #PHP
You might like
非洲第一个咖啡超凡杯大赛承办国—卢旺达的咖啡怎么样
2021/03/03 咖啡文化
第三节--定义一个类
2006/11/16 PHP
Array of country list in PHP with Zend Framework
2011/10/17 PHP
php 如何获取文件的后缀名
2016/06/05 PHP
Laravel框架集合用法实例浅析
2020/05/14 PHP
textarea中的手动换行处理的jquery代码
2011/02/26 Javascript
修复IE9&amp;safari 的sort方法
2011/10/21 Javascript
javascript针对DOM的应用分析(四)
2012/04/15 Javascript
跨浏览器的事件对象介绍
2012/06/27 Javascript
javascript实现修改微信分享的标题内容等
2014/12/11 Javascript
jQuery实现预加载图片的方法
2015/03/17 Javascript
jQuery实现首页图片淡入淡出效果的方法
2015/06/10 Javascript
基于jQuery实现仿51job城市选择功能实例代码
2016/03/02 Javascript
jQuery Ajax 上传文件处理方式介绍(推荐)
2016/06/30 Javascript
JS上传图片预览插件制作(兼容到IE6)
2016/08/07 Javascript
原生态js,鼠标按下后,经过了那些单元格的简单实例
2016/08/11 Javascript
js仿小米官网图片轮播特效
2016/09/29 Javascript
微信小程序开发之视频播放器 Video 弹幕 弹幕颜色自定义实例
2016/12/08 Javascript
js仿微信语音播放实现思路
2016/12/12 Javascript
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
2016/12/15 Javascript
JavaScript数据结构之二叉树的查找算法示例
2017/04/13 Javascript
小程序云开发之用户注册登录
2019/05/18 Javascript
js实现内置计时器
2019/12/16 Javascript
Ant Design的可编辑Tree的实现操作
2020/10/31 Javascript
pycharm在调试python时执行其他语句的方法
2018/11/29 Python
Html5 页面适配iPhoneX(就是那么简单)
2019/09/05 HTML / CSS
豪华复古化妆:Besame Cosmetics
2019/09/06 全球购物
Belvilla法国:休闲度假房屋出租
2020/10/03 全球购物
说一下mysql, oracle等常见数据库的分页实现方案
2012/09/29 面试题
为什么group by 和order by会使查询变慢
2014/05/16 面试题
竞聘演讲稿
2014/04/24 职场文书
初中班主任经验交流材料
2014/05/16 职场文书
竞选班干部演讲稿300字
2014/08/20 职场文书
秋季校运会广播稿100字
2014/09/18 职场文书
公司保洁员岗位职责
2015/02/13 职场文书
2015年高校保卫处工作总结
2015/07/23 职场文书