• 技术文章 >php教程 >php手册

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

    2016-06-21 09:01:00原创438

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



    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:nbsp HTML FILE tpl php
    上一篇:动态网页PHP程序员的优化调试技术和技巧 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • php利用新浪接口查询ip获取地理位置• php mysql 数据库类• PHP代码:Http断点续传的实现例子• 如何获知PHP程序占用多少内存(memory_get_usage)• PHP Memcached应用实现代码
    1/1

    PHP中文网