php静态文件生成类实例分析
本文实例讲述了php静态文件生成类。分享给大家供大家参考。
具体实现方法如下:
defined('phpjb51')ordie(header("http/1.1403notforbidden")); classinclude_createstatic { private$htmlpath=''; private$path=''; public$monthpath=''; private$listpath=''; private$content=''; private$filename=''; private$extname='.html'; publicfunctioncreatehtml($type,$desname,$content) { $this->htmlpath=getappinf('htmlpath'); if(!file_exists($this->htmlpath)) { @mkdir($this->htmlpath); } $this->path=$this->htmlpath.$this->monthpath.'/'; if(!file_exists($this->path)) { @mkdir($this->path); } $this->listpath=$this->htmlpath.'list/'; if(!file_exists($this->listpath)) { @mkdir($this->listpath); } switch($type) { case'index': $this->filename=$desname; break; case'list': $this->filename=$this->listpath.$desname; break; case'view': $this->filename=$this->path.$desname; break; } $this->filename.=$this->extname; $this->content=$content; } publicfunctionwrite() { $fp=fopen($this->filename,'wb'); if(!is_writable($this->filename)) { returnfalse; } if(!fwrite($fp,$this->content)) { returnfalse; } fclose($fp); return$this->filename; } } //方法二 if(file_exists("./index.htm"))//看静态index.htm文件是否存在 { $time=time(); //文件修改时间和现在时间相差?的话,直接导向htm文件,否则重新生成htm if(time-filemtime("./index.htm")<600) { header("location:classhtml/main.htm"); } } //在你的开始处加入ob_start(); ob_start(); //首页内容,就是你的动态部分了 //在结尾加入ob_end_clean(),并把本页输出到一个变量中 $temp=ob_get_contents(); ob_end_clean(); //写入文件 $fp=fopen("./index.htm",'w'); fwrite(fp,temp)ordie('写文件错误'); //echo"生成html完成!";
希望本文所述对大家的php程序设计有所帮助。