PHP生成html静态页面类

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

001<?php
002class html
003{
004    var $dir;        //dir for the htmls(without/)
005    var $rootdir;    //root of html files(without/):html
006    var $name;       //html文件存放路径
007    var $dirname;    //指定的文件夹名称
008    var $url;        //获取html文件信息的来源网页地址
009    var $time;       //html文件信息填加时的时间
010    var $dirtype;    //目录存放方式:year,month,,,,
011    var $nametype;   //html文件命名方式:name
012    function html($nametype='name',$dirtype='year',$rootdir='html')
013    {
014        $this->setvar($nametype,$dirtype,$rootdir);
015    }
016    function setvar($nametype='name',$dirtype='year',$rootdir='html')
017    {
018      $this->rootdir=$rootdir;
019      $this->dirtype=$dirtype;
020      $this->nametype=$nametype;
021    }
022    function createdir($dir='')
023    {
024        $this->dir=$dir?$dir:$this->dir;
025        if (!is_dir($this->dir))
026        {
027            $temp = explode('/',$this->dir);
028            $cur_dir = '';
029            for($i=0;$i<count($temp);$i++)
030            {
031                $cur_dir .= $temp[$i].'/';
032                if (!is_dir($cur_dir))
033                {
034                @mkdir($cur_dir,0777);
035                }
036            }
037        }
038    }
039    function getdir($dirname='',$time=0)
040    {
041        $this->time=$time?$time:$this->time;
042        $this->dirname=$dirname?$dirname:$this->dirname;
043        switch($this->dirtype)
044        {
045        case 'name':
046        if(empty($this->dirname))
047           $this->dir=$this->rootdir;
048        else
049           $this->dir=$this->rootdir.'/'.$this->dirname;
050        break;
051        case 'year':
052        $this->dir=$this->rootdir.'/'.date("Y",$this->time);
053        break;
054        case 'month':
055        $this->dir=$this->rootdir.'/'.date("Y-m",$this->time);
056        break;
057        case 'day':
058        $this->dir=$this->rootdir.'/'.date("Y-m-d",$this->time);
059        break;
060        }
061        $this->createdir();
062        return $this->dir;
063    }
064    function geturlname($url='')
065    {
066        $this->url=$url?$url:$this->url;
067        $filename=basename($this->url);
068        $filename=explode(".",$filename);
069        return $filename[0];
070    }
071    function geturlquery($url='')
072    {
073        $this->url=$url?$url:$this->url;
074        $durl=parse_url($this->url);
075        $durl=explode("&",$durl[query]);
076        foreach($durl as $surl)
077        {
078          $gurl=explode("=",$surl);
079          $eurl[]=$gurl[1];
080        }
081        return join("_",$eurl);
082    }
083    function getname($url='',$time=0,$dirname='')
084    {
085        $this->url=$url?$url:$this->url;
086        $this->dirname=$dirname?$dirname:$this->dirname;
087        $this->time=$time?$time:$this->time;
088        $this->getdir();
089        switch($this->nametype)
090        {
091        case 'name':
092        $filename=$this->geturlname().'.htm';
093        $this->name=$this->dir.'/'.$filename;
094        break;
095        case 'time':
096        $this->name=$this->dir.'/'.$this->time.'.htm';
097        break;
098        case 'query':
099        $this->name=$this->dir.'/'.$this->geturlquery().'.htm';
100        break;
101        case 'namequery':
102        $this->name=$this->dir.'/'.$this->geturlname().'-'.$this->geturlquery().'.htm';
103        break;
104        case 'nametime':
105        $this->name=$this->dir.'/'.$this->geturlname().'-'.$this->time.'.htm';
106        break;
107        }
108        return $this->name;
109    }
110    function createhtml($url='',$time=0,$dirname='',$htmlname='')
111    {
112        $this->url=$url?$url:$this->url;
113        $this->dirname=$dirname?$dirname:$this->dirname;
114        $this->time=$time?$time:$this->time;
115        if(empty($htmlname))
116            $this->getname();
117        else
118            $this->name=$dirname.'/'.$htmlname;
119        $content=file($this->url) or die("打开URL失败: ".$this->url." !");
120        $content=join("",$content);
121        $fp=@fopen($this->name,"w") or die("打开文件失败: ".$this->name." !");
122        if(@fwrite($fp,$content))
123        return true;
124        else
125        return false;
126        fclose($fp);
127    }
128    //以name为名字生成html
129    function deletehtml($url='',$time=0,$dirname='')
130    {
131        $this->url=$url?$url:$this->url;
132        $this->time=$time?$time:$this->time;
133        $this->getname();
134        if(@unlink($this->name))
135        return true;
136        else
137        return false;
138    }
139    /**
140     * function::deletedir()
141     * 删除目录
142     * @param $file 目录名(不带/)
143     * @return
144     */
145     function deletedir($file)
146     {
147        if(file_exists($file))
148        {
149            if(is_dir($file))
150            {
151                $handle =opendir($file);
152                while(false!==($filename=readdir($handle)))
153                {
154                    if($filename!="."&&$filename!="..")
155                      $this->deletedir($file."/".$filename);
156                }
157                closedir($handle);
158                rmdir($file);
159                return true;
160            }else{
161                unlink($file);
162            }
163        }
164    }
165}
166?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【软件功能特点】    一、强大的模板引擎技术   企业网站管理系统借鉴了Discuz的模板技术,实现了MVC模式,模板全面标签化,只需懂得简单的html语言就能打造一个漂亮的网站;      二、无限极分类,自由选取模块。   实现递归无限级分类,每个分类可自定义模块,自选模块;   三、模版、插件共分享资源无限   模版,方便地安装插件、模版、边框;采用积分机制激励插件、模版的DIY开发和资源分享,越来越丰富的资源让您的网站越来越丰富多彩;   四、邮件订阅及群发功能   邮件订阅及邮件群发功能,后台轻松实现邮件营销,让您的企业通过互联网快速向外传播;   五、良好的用户体验   采用JQUERY、AJAX等前端技术,注重用户友好度和用户体验;   六、网站地图(sitemap.xml)   生成生成Google网站地图,通过Google工具,让搜索引擎快速收录最新发布的页面; 七、平滑的静态网页生成 基于AJAX的平滑静态网页技术,生成静态网页,提高网站访问效率,有利搜索引擎收录。 【安装】   请注意备份原有数据库内容,以免覆盖。   1.下载并解压缩文件包,上传至服务器或主机空间    2.在浏览器地址栏中输入:http://你的域名/install.php进入安装界面;   3.按步骤安装系统。   4.进入http://你的域名/admin用自己设置的管理用户名字和密码登录后台进行初始设置.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值