详细讲解一下关于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); //+分别代表的意思是:模板页面,生成后的名称,存放文件夹,写入模板的数据信息 } ?>
注意:在这里我只是写了个简单的思路,具体的需求需要根据大家的应用来了,这是最简单的发布,还有编辑希望想学习的朋友们继续研究。
教程链接:
随意转载~但请保留教程地址★