首页 > php教程 > php手册 > 正文

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

php中文网
发布: 2016-05-25 16:53:18
原创
1379人浏览过

详细讲解一下关于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('对不起 ,这没有HTML文件夹' . $htmldata_dir . ' 而且不能创建 .');
            }
        } elseif (!is_writable($htmldata_dir)) {
            exit('对不起, 文件夹 ' . $htmldata_dir . ' 不可写');
        }
        return $htmldata_dir;
    }
    function replace_tpl($data, $input_data, $name) { //+ 替换 html 模板中的变量
        $data = str_replace("{title}", $input_data['title'], $data);
        $data = str_replace("{content}", $input_data['content'], $data);
        return $data;
    }
    function create_html($htmlpage, $name, $root, $input_data) { //+ 生成 html 文件 function create_html('模板','静态文件名','文件存储目录','提交数据');
        $htmldata_dir = $this->c_dir($html_type, $root); //c_dir("格式","名称")
        $modeltpl = $htmlpage; //可以加路径
        $fp = fopen($modeltpl, 'r');
        $tpldata.= fread($fp, filesize($modeltpl));
        fclose($fp);
        $tpl_data = $this->replace_tpl($tpldata, $input_data, $name);
        $fp = fopen($htmldata_dir . '/' . $name . '.shtml', 'w+');
        unset($htmldata_dir);
        fwrite($fp, $tpl_data);
        fclose($fp);
    }
}
?>
登录后复制

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

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

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


小微助手
小微助手

微信推出的一款专注于提升桌面效率的助手型AI工具

小微助手 249
查看详情 小微助手

立即学习PHP免费学习笔记(深入)”;

教程链接:

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

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号