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

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

WBOY
Freigeben: 2016-05-25 16:53:18
Original
1096 Leute haben es durchsucht

详细讲解一下关于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);
    }
}
?>
Nach dem Login kopieren

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

<?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);
    //+分别代表的意思是:模板页面,生成后的名称,存放文件夹,写入模板的数据信息
    
}
?>
Nach dem Login kopieren

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


教程链接:

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage