欢迎您来到懒之才-站长的分享平台!   学会偷懒,并懒出境界是提高工作效率最有效的方法!
首页 > 经验分享 > PHP > PHP生成html静态页面类

PHP生成html静态页面类

2018-06-20 444 收藏 0 赞一个 0 真差劲 0 去评论

一套功能强大的PHP网站系统,生成静态的HTML文件是必需的,以下是为需要生成PHP静态页面而编写的一个类文件,在需要生成静态文件的地方,你只需调用这个类即可,类中定义了一些生成HTML文件所需的功能,需要的请仔细阅读这个类代码吧。

<?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')
    {
        $this->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?$dir:$this->dir;
        if (!is_dir($this->dir))
        {
            $temp = explode('/',$this->dir);
            $cur_dir = '';
            for($i=0;$i<count($temp);$i++)
            {
                $cur_dir .= $temp[$i].'/';
                if (!is_dir($cur_dir))
                {
                @mkdir($cur_dir,0777);
                }
            }
        }
    }
    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)
        {
          $gurl=explode("=",$surl);
          $eurl[]=$gurl[1];
        }
        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;
        $content=file($this->url) or die("打开URL失败: ".$this->url." !");
        $content=join("",$content);
        $fp=@fopen($this->name,"w") or die("打开文件失败: ".$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);
            }
        }
    }
}
?>


一、推荐使用迅雷或快车等多线程下载软件下载本站资源。

二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。

三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!

四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.

五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。

六、如需转载本站资源,请注明转载来自并附带链接

七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com

大家评论