PHP生成静态类实例
PHP类代码:
<?php
/* Author:jaes Time:2009-01-10
静态生成类 htmlPage
自定义生成静态函数 printHtml,其中参数分别表示:
('静态页面标签(数组)','要替换标签的值(数组)','静态模板路径','生成后的路径','文件夹名称或路径')
*/
class htmlPage{
//生成静态
function printHtml($htmlTagArray,$phpTagArray,$htmlOpen,$htmlPrint,$fileName=''){
if(!empty($fileName)){ $this->createdir($fileName); } //创建文件夹
$str_html=$this->readModel($htmlOpen); //读取模板
$str_html=str_replace($htmlTagArray,$phpTagArray,$str_html);
$this->writeModel($htmlPrint,$str_html); //写入并生成html文件
}
//只读静态HTML模板
function readModel($model_path){
global $str_html;
$fp=fopen($model_path,"r"); //只读打开模板
$str_html=fread($fp,filesize($model_path)); //读取模板中内容
fclose($fp);
return $str_html;
}
//生成的HTML文件
function writeModel($html_path,$str_html){
$handle=fopen($html_path,"w"); //写入方式打开新闻路径
fwrite($handle,$str_html); //把刚才替换的内容写进生成的HTML文件
fclose($handle);
}
//创建文件夹
function createdir($dir){
$edir = explode('/',$dir);
for($i=0;$i<count($edir);$i++){
$edirm = $edir[0];
for($ii=1;$ii<=$i;$ii++){
$edirm = $edirm.'/'.$edir[$ii];
}
if(file_exists($edirm) && is_dir($edirm)){
}else{
@mkdir ($edirm,0777);
}
}
}
}
?>
调用类生成静态代码:
<?php
$title="标题";
$content="内容";
$time=date("YmdHis");
$model_path="templates/free_index.html"; //静态模板路径
$htmlPath="bb/{$time}.html"; //生成后的路径
$htmlTag=array('{title}','{content}','{time}'); //静态页面标签
$values=array($title,$content,$time); //要替换标签的值
//生成静态开始
require_once('../class/HtmlPage.php');
$htmlStr=new htmlPage();
$htmlStr->printHtml($htmlTag,$values,$model_path,$htmlPath);
//生成静态结束
echo "生成完毕! <a href='{$htmlPath}' target='_blank'>现在查看</a>";
?>
注:以上静态模板自己设置,静态模板包括标签有"{title}","{content}","{time}".
上一篇:PHP提取图片的宽和高
下一篇:让PHP程序运行更快方法
讨论数量:0