您好,欢迎访问一九零五行业门户网

php写的一个生成静态页面的类

setvar($nametype,$dirtype,$rootdir);}function setvar($nametype='name',$dirtype='year',$rootdir='html')
{$this->rootdir=$rootdir;$this->dirtype=$dirtype;$this->nametype=$nametype;}function createdir($dir='')
{$this->dir=$dir?$dir:$this->dir;if (!is_dir($this->dir))
{$temp = explode('/',$this->dir);$cur_dir = '';for($i=0;$i{$cur_dir .= $temp[$i].'/';if (!is_dir($cur_dir)){@mkdir($cur_dir,0777);}}}}function getdir($dirname='',$time=0)
{$this->time=$time?$time:$this->time;$this->dirname=$dirname?$dirname:$this->dirname;switch($this->dirtype)
{case 'name':if(empty($this->dirname))$this->dir=$this->rootdir;else$this->dir=$this->rootdir.'/'.$this->dirname;break;case 'year':$this->dir=$this->rootdir.'/'.date(y,$this->time);break;case 'month':
$this->dir=$this->rootdir.'/'.date(y-m,$this->time);break;case 'day':
$this->dir=$this->rootdir.'/'.date(y-m-d,$this->time);break;}$this->createdir();
return $this->dir;
}function geturlname($url='')
{$this->url=$url?$url:$this->url;$filename=basename($this->url);
$filename=explode(.,$filename);return $filename[0];}function geturlquery($url='')
{$this->url=$url?$url:$this->url;$durl=parse_url($this->url);
$durl=explode(&,$durl[query]);foreach($durl as $surl){$gurl=explode(=,$surl);$eurl[]=$gurl[1];}return join(_,$eurl);}function getname($url='',$time=0,$dirname='')
{$this->url=$url?$url:$this->url;$this->dirname=$dirname?$dirname:$this->dirname;$this->time=$time?$time:$this->time;$this->getdir();
switch($this->nametype)
{case 'name':$filename=$this->geturlname().'.htm';$this->name=$this->dir.'/'.$filename;break;case 'time':
$this->name=$this->dir.'/'.$this->time.'.htm';break;case 'query':
$this->name=$this->dir.'/'.$this->geturlquery().'.htm';break;case 'namequery':
$this->name=$this->dir.'/'.$this->geturlname().'-'.$this->geturlquery().'.htm';break;case 'nametime':
$this->name=$this->dir.'/'.$this->geturlname().'-'.$this->time.'.htm';break;}
return $this->name;}function createhtml($url='',$time=0,$dirname='',$htmlname='')
{$this->url=$url?$url:$this->url;$this->dirname=$dirname?$dirname:$this->dirname;$this->time=$time?$time:$this->time;//上面保证不重复地把变量赋予该类成员if(empty($htmlname))$this->getname();else$this->name=$dirname.'/'.$htmlname; //得到name$content=file($this->url) or die(failed to open the url .$this->url. !);;///////////////关键步---用file读取$this->url
$content=join(,$content);$fp=@fopen($this->name,w) or die(failed to open the file .$this->name. !);if(@fwrite($fp,$content))return true;elsereturn false;fclose($fp);}/////////////////以name为名字生成htmlfunction deletehtml($url='',$time=0,$dirname=''){$this->url=$url?$url:$this->url;$this->time=$time?$time:$this->time;$this->getname();
if(@unlink($this->name))
return true;elsereturn false;}/**
* function::deletedir()* 删除目录* @param $file 目录名(不带/)* @return*/function deletedir($file){if(file_exists($file)){if(is_dir($file)){$handle =opendir($file);while(false!==($filename=readdir($handle))){if($filename!=.&&$filename!=..)$this->deletedir($file./.$filename);}closedir($handle);rmdir($file);return true;}else{unlink($file);}}}}?>
复制代码
您可能感兴趣的文章:php生成静态页面的三种方法与代码详解php生成静态页面函数(php2html)的例子php生成静态页面的方法(三个函数)细说php生成静态文件之模板与缓存虚拟主机上定时自动生成静态页面的方法php生成静态文件的二种方法php生成静态页面的详细教程php生成静态html文件的原理分析smarty生成静态页面的方法了解php生成静态html文件的原理php生成静态页面的方法php生成静态html文件的三种方法
其它类似信息

推荐信息