>  기사  >  백엔드 개발  >  해리포터와 정적 페이지를 생성하는 치명적인 h PHP 클래스

해리포터와 정적 페이지를 생성하는 치명적인 h PHP 클래스

WBOY
WBOY원래의
2016-07-29 08:35:11884검색

코드 복사 코드는 다음과 같습니다.


class html
{
var $dir; //html용 디렉토리(without/)
var $rootdir; 없이/):html
var $name; //html 파일 저장 경로
var $dirname; //지정된 폴더 이름
var $url; //html 파일 정보의 소스 웹페이지 주소 가져오기
var $time; //html 파일 정보를 입력하는 시간
var $dirtype; //디렉토리 저장 방식: 연도, 월,,,
var $nametype; 이름
함수 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;
}
functioncreater($dir='')
{
$ this->dir=$dir?$dir:$this->dir
if (!is_dir($this->dir))
{
$temp =explore('/' ,$this->dir);
$cur_dir = '';
for($i=0;$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;
케이스 '연도':
$this->dir=$this->rootdir.'/'.date("Y" ,$this->time);
break;
케이스 '월':
$this->dir=$this->rootdir.'/'.date("Y-m",$ this->time);
break
케이스 'day':
$this->dir=$this->rootdir.'/'.date("Y-m-d",$this- >time);
break;
}
$this->createdir()
return $this->dir; '')
{
$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; $time?$time:$this->time;
$this->getdir()
switch($this->nametype)
{
케이스 '이름':
$filename=$this->geturlname().'.htm'
$this->name=$this->dir.'/'.$filename
break; > 케이스 '시간':
$this->name=$this->dir.'/'.$this->time.'.htm'
break
케이스 '쿼리; ':
$this->name=$this->dir.'/'.$this->geturlquery().'.htm'
break
case 'namequery':
$this->name=$this->dir.'/'.$this->geturlname().'-'.$this->geturlquery().'.htm'; > break;
케이스 'nametime':
$this->name=$this->dir.'/'.$this->geturlname().'-'.$this-> time.'.htm';
break
}
return $this->name;
함수 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; //이름 가져오기
$c
//////////////주요 단계--- file을 사용하여 Get $this->url

$c
$fp=@fopen($this->name,"w") 또는 die("Failed to open the file ". $this-> ;name." !");
if(@fwrite($fp,$content))
return true
else
return false($fp; );
}
/////////////////이름을 이름으로 사용하여 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 ;
}
/**
* 함수::deletedir()
* 디렉터리 삭제
* @param $file 디렉터리 이름(/ 없음)
* @return
*/
함수 deleteir($file)
{
if(file_exists($file))
{
if(is_dir ($file))
{
$handle =opendir($file);
while(false!==($filename=readdir($handle)))
{
if( $filename!=". "&&$filename!="..")
$this->deletedir($file."/".$filename)
}
closeir($handle) ;
rmdir( $file);
return true;
}else{
unlink($file);
}
}
?>


위 내용은 해리포터와 데쓰리h의 내용을 포함하여 해리포터와 데쓰리h의 정적 페이지를 생성하기 위한 PHP 클래스를 소개한 내용입니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.