> php教程 > php手册 > 본문

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

WBOY
풀어 주다: 2016-06-21 09:01:00
원래의
914명이 탐색했습니다.

/*____生成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处理尾
?>



관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿