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
}
}
}
?>