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


Posted in PHP onMarch 31, 2007
<?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 相关文章推荐
php5 图片验证码实现代码
Dec 11 PHP
PHP入门学习笔记之一
Oct 12 PHP
php查询相似度最高的字符串的方法
Mar 12 PHP
php遍历树的常用方法汇总
Jun 18 PHP
php文件操作之小型留言本实例
Jun 20 PHP
详解WordPress开发中的get_post与get_posts函数使用
Jan 04 PHP
PHP 数组基本操作方法详解
Jun 17 PHP
php fread读取文件注意事项
Sep 24 PHP
ecshop添加菜单及权限分配问题
Nov 21 PHP
Laravel框架生命周期与原理分析
Jun 12 PHP
php和asp语法上的区别总结
May 12 PHP
PHP+Redis开发的书签案例实战详解
Jul 09 PHP
解决dede生成静态页和动态页转换的一些问题,及火车采集入库生成动态的办法
Mar 29 #PHP
实现dedecms全站URL静态化改造的代码
Mar 29 #PHP
PHP中动态显示签名和ip原理
Mar 28 #PHP
收集的PHP中与数组相关的函数
Mar 22 #PHP
用PHP写的MySQL数据库用户认证系统代码
Mar 22 #PHP
人尽可用的Windows技巧小贴士之下篇
Mar 22 #PHP
加速XP搜索功能堪比vista
Mar 22 #PHP
You might like
php写入数据到CSV文件的方法
2015/03/14 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2016/12/07 PHP
深入理解JavaScript定时机制
2010/10/29 Javascript
跨浏览器通用、可重用的选项卡tab切换js代码
2011/09/20 Javascript
javascript实现文字图片上下滚动的具体实例
2013/06/28 Javascript
Js参数值中含有单引号或双引号问题的解决方法
2013/11/06 Javascript
鼠标滑在标题上显示图片的JS代码
2013/11/19 Javascript
用js的document.write输出的广告无阻塞加载的方法
2014/06/05 Javascript
前端必备神器 Snap.svg 弹动效果
2014/11/10 Javascript
jquery实现勾选复选框触发事件给input赋值
2015/02/01 Javascript
Javascript实现鼠标右键特色菜单
2015/08/04 Javascript
zepto中使用swipe.js制作轮播图附swipeUp,swipeDown不起效果问题
2015/08/27 Javascript
JS获取IMG图片高宽的简单实例
2016/05/17 Javascript
辨析JavaScript中的Undefined类型与null类型
2016/05/26 Javascript
jQuery插件学习教程之SlidesJs轮播+Validation验证
2016/07/12 Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
2016/12/29 Javascript
JavaScript基础心法 深浅拷贝(浅拷贝和深拷贝)
2018/03/05 Javascript
通过一次报错详细谈谈Point事件
2018/05/17 Javascript
nodejs分离html文件里面的js和css的方法
2019/04/09 NodeJs
基于Vue.js与WordPress Rest API构建单页应用详解
2019/09/16 Javascript
vue点击自增和求和的实例代码
2019/11/06 Javascript
Python处理文本文件中控制字符的方法
2017/02/07 Python
Python+Selenium自动化实现分页(pagination)处理
2017/03/31 Python
Flask web开发处理POST请求实现(登录案例)
2018/07/26 Python
python读取txt文件,去掉空格计算每行长度的方法
2018/12/20 Python
在OpenCV里实现条码区域识别的方法示例
2019/12/04 Python
Pytorch .pth权重文件的使用解析
2020/02/14 Python
pymysql之cur.fetchall() 和cur.fetchone()用法详解
2020/05/15 Python
解决django框架model中外键不落实到数据库问题
2020/05/20 Python
如何用用Python将地址标记在地图上
2021/02/07 Python
Skyscanner新西兰:全球领先的旅游搜索网站
2019/08/26 全球购物
护士个人简历自荐信
2013/10/18 职场文书
班级德育工作实施方案
2014/02/21 职场文书
园林专业毕业生自荐信
2014/07/04 职场文书
2014院党委领导班子及其成员群众路线对照检查材料思想汇报
2014/10/04 职场文书
成绩单家长意见
2015/06/03 职场文书