找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1372|回复: 0
打印 上一主题 下一主题

生成静态页面的PHP类

[复制链接]

2617

主题

2617

帖子

7789

积分

论坛元老

Rank: 8Rank: 8

积分
7789
跳转到指定楼层
楼主
发表于 2018-2-14 09:40:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            [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使用标签替换的方式生成静态页面
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端