Home >php教程 >php手册 >PHP动态网页实现静态HTML技术的方法实现

PHP动态网页实现静态HTML技术的方法实现

WBOY
WBOYOriginal
2016-06-21 09:01:00934browse

/*____生成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________*/
?>

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_____*/
?>

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

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处理尾
?>



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn