All articles(网络文学目录) All Pictures(图片目录) All Softwares(软件目录)

 
WEB开发源代码:PHP生成静态页面的类_[PHP教程]

Writer: 归海一刀 Article type: Programming skills(编程技巧) Time: 2014/2/17 7:40:46 Browse times: 321 Comment times: 0

WEB开发源代码:PHP生成静态页面的类_[PHP教程]


Head photo

Go homepage
Upload pictures
Write articles

WEB开发源代码:PHP生成静态页面的类_[PHP教程]

以下是引用片段:
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

function html(nametype='name',dirtype='year',rootdir='html')


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

}
?>





There are 0 records,
Comment:
Must be registered users to comment(必须是注册用户才能发表评论)

Disclaimer Privacy Policy About us Site Map
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.