预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

http://www.latazhu.com/<?php/*demo.html的代码<html><head><title>{title}</title></head><body>{text}</body><html>$sc=newtemplate();//$sc=newtemplate($tmp,$filename,$arr);(本来这里直接用构造函数来实现的,考虑到会有很多的生成静态页的进程,还是改为函数调用,本处保留备用,在类中template()替换成templateHtml()即可实现)$tmp="../template/temp.php";//模板页$filename="test.html";//生成页$foot="../foot.html";//包含的底文件,头文件同理$arr=array();$arr["{title}"]="新标题";$arr["{text}"]="新内容";$arr["{foot}"]=$sc->readHtml($foot);$sc->templateHtml($tmp,$filename,$arr);*/classtemplate{var$temp;//读取的模板页文件名(包含路径)var$html;//要生成的html文件名(包含路径)var$err;//错误编号var$test;//数据流var$arr;//要替换的数组模式(键名->模板标签,键值->替换内容)functiontemplate(){$this->temp="";$this->html="";$this->err=0;$this->test="";}functiontemplateHtml($temp,$html,$arr){$err=$this->chkFile($temp);if((int)$err==0){$fp=fopen($temp,"r");//只读方式打开模板页$test=fread($fp,filesize($temp));//读取模板页的数据流$test=$this->arr_replace($arr,$test);//替换文件$err=$this->writefile($html,$test);//生成静态页}echo"由模板页".$temp."生成".$html.$this->error($err);return;}/**判断文件是否存在*返回错误提示*/functionchkFile($file){if(file_exists($file)){return0;}return1;}/**根据数组文件内容,替换数据流模式(键名->模板标签,键值->替换内容)*返回数据流*参数$arr:数组*参数$test:数据流*/functionarr_replace($arr,$test){$ss=$test;foreach($arras$key=>$value){$ss=str_replace($key,$value,$ss);}return$ss;}/**将数据流,写入到文件中*返回执行状态*参数$html:要生成的html文件*参数$test:数据流*/functionwritefile($html,$test){$stat=2;if($this->chkFile($html)==0)//判断文件是否存在{$stat=0;//已经存在返回0}if($f=fopen($html,"w"))//写入方式打开文件,不存在则创建{fputs($f,$test);fclose($f);$stat=0;//写入成功返回0}else{$stat=2;//写入失败返回2}return$stat;}/**错误提示*返回错误提示*参数$err:错误编号*参数$file:错误文件*/functionerror($err){$message="";switch((int)$err){case0:$message="静态页生成成功";break;case1:$message="模板页打开失败,请检查是否存在";break;case2:$message="文件生成失败,请检查目录权限";break;default:$message="未知错误";}return$message;}/***主要用来读取模板页,返回数据流(比如top,foot公用文件,)*参数$file:模板页路径*/functionreadHtml($file){$test="";$err=$this->chkFile($file);if($err==0){$fp=fopen($file,"r");//只读方式打开模板页$test=fread($fp,filesize($file));//读取模板页的数据流}else{$test=$file.$this->error($