时时商务社区

标题: 生成静态页面的PHP类 [打印本页]

作者: 新格网络    时间: 2018-2-14 09:40

            [U]复制代码[/U] 代码如下:
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?$dirthis->dir;  
if (!is_dir($this->dir))  
{  
$temp = explode('/',$this->dir);  
$cur_dir = '';  
for($i=0;$itime=$time?$timethis->time;  
$this->dirname=$dirname?$dirnamethis->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?$urlthis->url;  
$filename=basename($this->url);  
$filename=explode(".",$filename);  
return $filename[0];  
}  
function geturlquery($url='')  
{  
$this->url=$url?$urlthis->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?$urlthis->url;  
$this->dirname=$dirname?$dirnamethis->dirname;  
$this->time=$time?$timethis->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?$urlthis->url;  
$this->dirname=$dirname?$dirnamethis->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;  
else  
return false;  
fclose($fp);  
}  
/////////////////以name为名字生成html  
function 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;  
else  
return 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生成静态页面类(非smarty)
  • 谈PHP生成静态页面分析 模板+缓存+写文件
  • php 生成静态页面的办法与实现代码详细版
  • 用php的ob_start来生成静态页面的方法分析
  • 比较详细PHP生成静态页面教程
  • php生成静态页面的简单示例
  • php使用标签替换的方式生成静态页面
            




    欢迎光临 时时商务社区 (http://bbs.4435.cn/) Powered by Discuz! X3.2