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

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

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

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

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

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

HYPERLINK"http://www.latazhu.com/"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; }