function setvar(nametype='name',dirtype='year',rootdir='html') 
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)) 
} 
} 
} 
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) 
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; 
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))) 
closedir(handle); 
rmdir(file); 
return true; 
}else 
} 
} 
} 
?>