用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 相关文章推荐
phpMyAdmin2.11.6安装配置方法
Aug 24 PHP
php2html php生成静态页函数
Dec 08 PHP
php 获取全局变量的代码
Apr 21 PHP
一个PHP二维数组排序的函数分享
Jan 17 PHP
thinkphp如何获取客户端IP
Nov 03 PHP
PHP创建/删除/复制文件夹、文件
May 03 PHP
php截取视频指定帧为图片
May 16 PHP
PHP多进程编程总结(推荐)
Jul 18 PHP
总结PHP中DateTime的常用方法
Aug 11 PHP
yii2 数据库读写分离配置示例
Feb 10 PHP
PHP token验证生成原理实例分析
Jun 05 PHP
使用laravel和ECharts实现折线图效果的例子
Oct 09 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
PHP 文件编程综合案例-文件上传的实现
2013/07/03 PHP
php封装的表单验证类完整实例
2016/10/19 PHP
Laravel 批量更新多条数据的示例
2017/11/27 PHP
项目实践之javascript技巧
2007/12/06 Javascript
JS 页面自动加载函数(兼容多浏览器)
2009/05/18 Javascript
深入认识javascript中的eval函数
2009/11/02 Javascript
javascript+iframe 实现无刷新载入整页的代码
2010/03/17 Javascript
页面图片浮动左右滑动效果的简单实现案例
2014/02/10 Javascript
js实现楼层效果的简单实例
2016/07/15 Javascript
Vue概念及常见命令介绍(1)
2016/12/08 Javascript
JS实现图片预加载之无序预加载功能代码
2017/05/12 Javascript
select自定义小三角样式代码(实用总结)
2017/08/18 Javascript
AngularJS 中ui-view传参的实例详解
2017/08/25 Javascript
vue cli webpack中使用sass的方法
2018/02/24 Javascript
Python首次安装后运行报错(0xc000007b)的解决方法
2016/10/18 Python
Python中模块string.py详解
2017/03/12 Python
利用Hyperic调用Python实现进程守护
2018/01/02 Python
pandas把dataframe转成Series,改变列中值的类型方法
2018/04/10 Python
关于python字符串方法分类详解
2019/08/20 Python
利用Python将图片中扭曲矩形的复原
2020/09/07 Python
Peter Millar官网:美国高档生活服饰品牌
2018/07/02 全球购物
DJI大疆德国官方商城:大疆无人机
2018/09/01 全球购物
JSF如何进行表格处理及取值
2012/08/06 面试题
介绍一下sql server的安全性
2014/08/10 面试题
学生自我鉴定
2013/12/18 职场文书
取保候审保证书
2014/04/30 职场文书
行政管理专业求职信
2014/07/06 职场文书
2014年村支部书记四风对照检查材料思想汇报
2014/10/02 职场文书
巾帼文明岗事迹材料
2014/12/24 职场文书
2015银行年终工作总结范文
2015/05/26 职场文书
同事去世追悼词
2015/06/23 职场文书
广播稿:校园广播稿范文
2019/04/17 职场文书
2019年房屋委托租赁合同范本(通用版)!
2019/07/17 职场文书
python 如何用map()函数创建多线程任务
2021/04/07 Python
Python开发工具Pycharm的安装以及使用步骤总结
2021/06/24 Python
Python学习之时间包使用教程详解
2022/03/21 Python