以下是引用片段:
class html
{
var dir; //dir for the htmls(without/)
var rootdir; //root of html files(without/):html
var name; //html文件存放路径
var dirname; //指定的文件夹名称
var url; //获取html文件信息的来源网页地址
var time; //html文件信息填加时的时间
var dirtype; //目录存放方式:year,month,,,,
var nametype; //html文件命名方式:name
\n
function html(nametype=’name’,dirtype=’year’,rootdir=’html’)
\n
function setvar(nametype=’name’,dirtype=’year’,rootdir=’html’)
\n
function createdir(dir=”)
{
this->dir=dir?dir:this->dir;
\n
if (!is_dir(this->dir))
{
temp = explode(‘/’,this->dir);
cur_dir = ”;
for(i=0;i {
cur_dir .= temp[i].’/\';
if (!is_dir(cur_dir))
\n
}
}
}
\n
function getdir(dirname=”,time=0)
{
this->time=time?time:this->time;
this->dirname=dirname?dirname:this->dirname;
\n
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;
\n
case ‘month’:
this->dir=this->rootdir.’/’.date(“Y-m”,this->time);
break;
\n
case ‘day’:
this->dir=this->rootdir.’/’.date(“Y-m-d”,this->time);
break;
}
\n
this->createdir();
\n
return this->dir;
}
\n
function geturlname(url=”)
{
this->url=url?url:this->url;
\n
filename=basename(this->url);
filename=explode(“.”,filename);
return filename[0];
}
\n
function geturlquery(url=”)
{
this->url=url?url:this->url;
\n
durl=parse_url(this->url);
durl=explode(“&”,durl[query]);
foreach(durl as surl)
\n
return join(“_”,eurl);
}
\n
function getname(url=”,time=0,dirname=”)
{
this->url=url?url:this->url;
this->dirname=dirname?dirname:this->dirname;
this->time=time?time:this->time;
\n
this->getdir();
\n
switch(this->nametype)
{
case ‘name’:
filename=this->geturlname().’.htm’;
this->name=this->dir.’/’.filename;
break;
\n
case ‘time’:
this->name=this->dir.’/’.this->time.’.htm’;
break;
\n
case ‘query’:
this->name=this->dir.’/’.this->geturlquery().’.htm’;
break;
\n
case ‘namequery’:
this->name=this->dir.’/’.this->geturlname().’-’.this->geturlquery().’.htm’;
break;
\n
case ‘nametime’:
this->name=this->dir.’/’.this->geturlname().’-’.this->time.’.htm’;
break;
\n
}
return this->name;
}
\n
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
\n
content=file(this->url) or die(“Failed to open the url “.this->url.” !”);;
\n
///////////////关键步—用file读取this->url
\n
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
\n
function deletehtml(url=”,time=0,dirname=”)
{
this->url=url?url:this->url;
this->time=time?time:this->time;
\n
this->getname();
\n
if(@unlink(this->name))
return true;
else
return false;
}
\n
/**
* function::deletedir()
* 删除目录
* @param file 目录名(不带/)
* @return
*/
function deletedir(file)
{
if(file_exists(file))
{
if(is_dir(file))
{
handle =opendir(file);
while(false!==(filename=readdir(handle)))
\n
closedir(handle);
rmdir(file);
return true;
}else
}
}
\n
}
?>