查看完整版本: WEB开发源代码:PHP生成静态页面的类

Kenny 2007-8-1 22:18

WEB开发源代码:PHP生成静态页面的类

             <p><font color="#cc5233">以下是引用片段:<br><span style="font-size: 10pt;"><font color="#000000">class&nbsp;html <br>{ <br>var&nbsp;$dir;&nbsp;//dir&nbsp;for&nbsp;the&nbsp;htmls(without/) <br>var&nbsp;$rootdir;&nbsp;//root&nbsp;of&nbsp;html&nbsp;files(without/):html <br>var&nbsp;$name;&nbsp;//html文件存放路径 <br>var&nbsp;$dirname;&nbsp;//指定的文件夹名称 <br>var&nbsp;$url;&nbsp;//获取html文件信息的来源</font><a class="bluekey" href="http://homepage.yesky.com/" target="_blank"><u><font color="#800080">网页</font></u></a><font color="#000000">地址 <br>var&nbsp;$time;&nbsp;//html文件信息填加时的时间 <br>var&nbsp;$dirtype;&nbsp;//目录存放方式:year,month,,,, <br>var&nbsp;$nametype;&nbsp;//html文件命名方式:name <br><br>function&nbsp;html($nametype='name',$dirtype='year',$rootdir='html') <br><br><br>function&nbsp;setvar($nametype='name',$dirtype='year',$rootdir='html') <br><br><br>function&nbsp;createdir($dir='') <br>{ <br>$this-&gt;dir=$dir?$dir:$this-&gt;dir; <br><br>if&nbsp;(!is_dir($this-&gt;dir)) <br>{ <br>$temp&nbsp;=&nbsp;explode('/',$this-&gt;dir); <br>$cur_dir&nbsp;=&nbsp;''; <br>for($i=0;$i&nbsp;{ <br>$cur_dir&nbsp;.=&nbsp;$temp[$i].'/'; <br>if&nbsp;(!is_dir($cur_dir)) <br><br>} <br>} <br>} <br><br>function&nbsp;getdir($dirname='',$time=0) <br>{ <br>$this-&gt;time=$time?$time:$this-&gt;time; <br>$this-&gt;dirname=$dirname?$dirname:$this-&gt;dirname; <br><br>switch($this-&gt;dirtype) <br>{ <br>case&nbsp;'name': <br>if(empty($this-&gt;dirname)) <br>$this-&gt;dir=$this-&gt;rootdir; <br>else <br>$this-&gt;dir=$this-&gt;rootdir.'/'.$this-&gt;dirname; <br>break; <br>case&nbsp;'year': <br>$this-&gt;dir=$this-&gt;rootdir.'/'.date("Y",$this-&gt;time); <br>break; <br><br>case&nbsp;'month': <br>$this-&gt;dir=$this-&gt;rootdir.'/'.date("Y-m",$this-&gt;time); <br>break; <br><br>case&nbsp;'day': <br>$this-&gt;dir=$this-&gt;rootdir.'/'.date("Y-m-d",$this-&gt;time); <br>break; <br>} <br><br>$this-&gt;createdir(); <br><br>return&nbsp;$this-&gt;dir; <br>} <br><br>function&nbsp;geturlname($url='') <br>{ <br>$this-&gt;url=$url?$url:$this-&gt;url; <br><br>$filename=basename($this-&gt;url); <br>$filename=explode(".",$filename); <br>return&nbsp;$filename[0]; <br>} <br><br>function&nbsp;geturlquery($url='') <br>{ <br>$this-&gt;url=$url?$url:$this-&gt;url; <br><br>$durl=parse_url($this-&gt;url); <br>$durl=explode("&amp;",$durl[query]); <br>foreach($durl&nbsp;as&nbsp;$surl) <br><br>return&nbsp;join("_",$eurl); <br>} <br><br>function&nbsp;getname($url='',$time=0,$dirname='') <br>{ <br>$this-&gt;url=$url?$url:$this-&gt;url; <br>$this-&gt;dirname=$dirname?$dirname:$this-&gt;dirname; <br>$this-&gt;time=$time?$time:$this-&gt;time; <br><br>$this-&gt;getdir(); <br><br>switch($this-&gt;nametype) <br>{ <br>case&nbsp;'name': <br>$filename=$this-&gt;geturlname().'.htm'; <br>$this-&gt;name=$this-&gt;dir.'/'.$filename; <br>break; <br><br>case&nbsp;'time': <br>$this-&gt;name=$this-&gt;dir.'/'.$this-&gt;time.'.htm'; <br>break; <br><br>case&nbsp;'query': <br>$this-&gt;name=$this-&gt;dir.'/'.$this-&gt;geturlquery().'.htm'; <br>break; <br><br>case&nbsp;'namequery': <br>$this-&gt;name=$this-&gt;dir.'/'.$this-&gt;geturlname().'-'.$this-&gt;geturlquery().'.htm'; <br>break; <br><br>case&nbsp;'nametime': <br>$this-&gt;name=$this-&gt;dir.'/'.$this-&gt;geturlname().'-'.$this-&gt;time.'.htm'; <br>break; <br><br>} <br>return&nbsp;$this-&gt;name; <br>} <br><br>function&nbsp;createhtml($url='',$time=0,$dirname='',$htmlname='') <br>{ <br>$this-&gt;url=$url?$url:$this-&gt;url; <br>$this-&gt;dirname=$dirname?$dirname:$this-&gt;dirname; <br>$this-&gt;time=$time?$time:$this-&gt;time; <br>//上面保证不重复地把变量赋予该类成员 <br>if(empty($htmlname)) <br>$this-&gt;getname(); <br>else <br>$this-&gt;name=$dirname.'/'.$htmlname;&nbsp;//得到name <br><br>$content=file($this-&gt;url)&nbsp;or&nbsp;die("Failed&nbsp;to&nbsp;open&nbsp;the&nbsp;url&nbsp;".$this-&gt;url."&nbsp;!");; <br><br>///////////////关键步---用file读取$this-&gt;url <br><br><br>$content=join("",$content); <br>$fp=@fopen($this-&gt;name,"w")&nbsp;or&nbsp;die("Failed&nbsp;to&nbsp;open&nbsp;the&nbsp;file&nbsp;".$this-&gt;name."&nbsp;!"); <br>if(@fwrite($fp,$content)) <br>return&nbsp;true; <br>else <br>return&nbsp;false; <br>fclose($fp); <br>} <br>/////////////////以name为名字生成html <br><br>function&nbsp;deletehtml($url='',$time=0,$dirname='') <br>{ <br>$this-&gt;url=$url?$url:$this-&gt;url; <br>$this-&gt;time=$time?$time:$this-&gt;time; <br><br>$this-&gt;getname(); <br><br>if(@unlink($this-&gt;name)) <br>return&nbsp;true; <br>else <br>return&nbsp;false; <br>} <br><br>/** <br>*&nbsp;function::deletedir() <br>*&nbsp;删除目录 <br>*&nbsp;@param&nbsp;$file&nbsp;目录名(不带/) <br>*&nbsp;@return&nbsp; <br>*/ <br>function&nbsp;deletedir($file) <br>{ <br>if(file_exists($file)) <br>{ <br>if(is_dir($file)) <br>{ <br>$handle&nbsp;=opendir($file); <br>while(false!==($filename=readdir($handle))) <br><br>closedir($handle); <br>rmdir($file); <br>return&nbsp;true; <br>}else <br>} <br>} <br><br>} <br>?&gt;</font></span></font><div>
页: [1]
查看完整版本: WEB开发源代码:PHP生成静态页面的类
PageRank