用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 相关文章推荐
php获取某个目录大小的代码
Sep 10 PHP
让php处理图片变得简单 基于gb库的图片处理类附实例代码下载
May 17 PHP
一个漂亮的php验证码类(分享)
Aug 06 PHP
PHP输出两个数字中间有多少个回文数的方法
Mar 23 PHP
php邮箱地址正则表达式验证
Nov 13 PHP
人脸识别测颜值、测脸龄、测相似度微信接口
Apr 07 PHP
php UNIX时间戳用法详解
Feb 16 PHP
PHP实现留言板功能的详细代码
Mar 25 PHP
Yii框架使用魔术方法实现跨文件调用功能示例
May 20 PHP
thinkPHP框架实现多表查询的方法
Jun 14 PHP
PHP的mysqli_set_charset()函数讲解
Jan 23 PHP
phpmyadmin在宝塔面板里进不去的解决方案
Jul 06 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时间函数用法分析
2016/05/28 PHP
javascript 对象比较实现代码
2009/04/27 Javascript
Javascript学习笔记2 函数
2010/01/11 Javascript
JavaScript栏目列表隐藏/显示简单实现
2013/04/03 Javascript
JS小功能(onmouseover实现选择月份)实例代码
2013/11/28 Javascript
html dom节点操作(获取/修改/添加或删除)
2014/01/23 Javascript
JS获取地址栏参数的几种方法小结
2014/02/28 Javascript
LABjs、RequireJS、SeaJS的区别
2014/03/04 Javascript
js字符串日期yyyy-MM-dd转化为date示例代码
2014/03/06 Javascript
对JavaScript中this指针的新理解分享
2015/01/31 Javascript
jquery实用技巧之输入框提示语句
2016/07/28 Javascript
Angularjs实现分页和分页算法的示例代码
2016/12/23 Javascript
Vue结合原生js实现自定义组件自动生成示例
2017/01/21 Javascript
原生JS实现垂直手风琴效果
2017/02/19 Javascript
Node.js中的child_process模块详解
2018/06/08 Javascript
解决vuejs项目里css引用背景图片不能显示的问题
2018/09/13 Javascript
python中的对象拷贝示例 python引用传递
2014/01/23 Python
python开发中range()函数用法实例分析
2015/11/12 Python
python使用Qt界面以及逻辑实现方法
2019/07/10 Python
Python qqbot 实现qq机器人的示例代码
2019/07/11 Python
学python安装的软件总结
2019/10/12 Python
详解CSS3中border-image的使用
2015/07/18 HTML / CSS
HTML5 Canvas绘制五星红旗
2016/05/04 HTML / CSS
优衣库英国官网:UNIQLO英国
2016/12/25 全球购物
英国第一的购买便宜玩具和游戏的在线购物网站:Bargain Max
2018/01/24 全球购物
SISLEY希思黎官方旗舰店:享誉全球的奢华植物美容品牌
2018/04/25 全球购物
Desigual美国官方网站:西班牙服装品牌
2019/03/29 全球购物
工程采购员岗位职责
2014/03/09 职场文书
机关党员公开承诺书
2014/08/30 职场文书
教师节学生演讲稿
2014/09/03 职场文书
2015年个人自我剖析材料
2014/12/29 职场文书
婚礼新人答谢词
2015/01/04 职场文书
汽车修理厂管理制度
2015/08/05 职场文书
家长会后的感想
2015/08/11 职场文书
初中信息技术教学反思
2016/02/16 职场文书
市场营销计划书
2019/04/24 职场文书