Home > php教程 > php手册 > 关于PHP生成静态页面详细讲解

关于PHP生成静态页面详细讲解

WBOY
Release: 2016-05-25 16:53:18
Original
1096 people have browsed it

详细讲解一下关于PHP生成静态页面的步骤:为了研究这静态的生成,我花了不少的时间,把我的经验给大家转述一下: 

下面是我封装的create html 类:

<?php
class makehtml {
    //+-----------------------------
    //+ 创建HTML文件夹 按照格式建立
    //+-----------------------------
    function c_dir($html_type, $root) {
        $htmldata_dir = $root;
        if (!is_dir($htmldata_dir)) {
            if (!mkdir($htmldata_dir, 0777)) {
                exit(&#39;对不起 ,这没有HTML文件夹&#39; . $htmldata_dir . &#39; 而且不能创建 .&#39;);
            }
        } elseif (!is_writable($htmldata_dir)) {
            exit(&#39;对不起, 文件夹 &#39; . $htmldata_dir . &#39; 不可写&#39;);
        }
        return $htmldata_dir;
    }
    function replace_tpl($data, $input_data, $name) { //+ 替换 html 模板中的变量
        $data = str_replace("{title}", $input_data[&#39;title&#39;], $data);
        $data = str_replace("{content}", $input_data[&#39;content&#39;], $data);
        return $data;
    }
    function create_html($htmlpage, $name, $root, $input_data) { //+ 生成 html 文件 function create_html(&#39;模板&#39;,&#39;静态文件名&#39;,&#39;文件存储目录&#39;,&#39;提交数据&#39;);
        $htmldata_dir = $this->c_dir($html_type, $root); //c_dir("格式","名称")
        $modeltpl = $htmlpage; //可以加路径
        $fp = fopen($modeltpl, &#39;r&#39;);
        $tpldata.= fread($fp, filesize($modeltpl));
        fclose($fp);
        $tpl_data = $this->replace_tpl($tpldata, $input_data, $name);
        $fp = fopen($htmldata_dir . &#39;/&#39; . $name . &#39;.shtml&#39;, &#39;w+&#39;);
        unset($htmldata_dir);
        fwrite($fp, $tpl_data);
        fclose($fp);
    }
}
?>
Copy after login

代码应用方法,配合数据库操作,数据库表大家自己建。

<?php
include ("mysql.php");
include ("create_html.php");
$html = new makehtml(); //实例化CREATE HTML对象
$op = $_GET["op"];
if ($op == &#39;insert&#39;) {
    $title = $_POST["title"];
    $content = $_POST["content"];
    $file_path = date("Y-m", time()); //以时间的格式来命名文件夹
    $query = $DB->query("insert into news values(&#39;&#39;,&#39;$title&#39;,&#39;$content&#39;,&#39;$times&#39;,&#39;&#39;)");
    $name = $DB->insert_id();
    $sql_data = array(
        &#39;title&#39; => $title,
        &#39;content&#39; => $content
    );
    $html->create_html(&#39;model.html&#39;, $name, $file_path, $sql_data);
    //+分别代表的意思是:模板页面,生成后的名称,存放文件夹,写入模板的数据信息
    
}
?>
Copy after login

注意:在这里我只是写了个简单的思路,具体的需求需要根据大家的应用来了,这是最简单的发布,还有编辑希望想学习的朋友们继续研究。


教程链接:

随意转载~但请保留教程地址★

Related labels:
source:php.cn
Statement of this Website
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
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template