PHP生成静态类实例

PHP 1384 0 2013-04-30

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 "生成完毕!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='{$htmlPath}' target='_blank'>现在查看</a>";
?>

注:以上静态模板自己设置,静态模板包括标签有"{title}","{content}","{time}".

上一篇:PHP提取图片的宽和高

下一篇:让PHP程序运行更快方法

讨论数量:0

请先登录再发表讨论。 2024-04-29

天涯网魂
3 杠 5 星
TA 的文章
TA 的随言
TA 的资源链