코드 복사 코드는 다음과 같습니다.
class Shtml
{
var $Temlet;
var $Dir
var $fileName; ;
var $handle;
function Shtml($fileName="")
{
$this->fileName=$fileName; ;
$this->handle=false;
$this->Templet = "";
$this->DataSource = 배열(); "";
}
///
/// 데이터 소스를 바인딩하며 매개변수는 배열입니다.
///
function BindData($arr)
{
$this->DataSource = $arr
}
/// < ;
/// 파일 저장 경로를 설정합니다.
///
function SetDir($dir)
{
$this->Dir = $dir
}
function SetFileName($fileName )
{
return $this->fileName=$fileName;
}
function GetMod()
{
return $this->mod
}
function SetMod($mod)
{
return $this->mod=$mod;
}
function Open()
{
if(substr($this - >fileName,0,1)=="/")
$this->fileName = $_SERVER['DOCUMENT_ROOT'] . $this->fileName
if($this-> 핸들 =fopen($this->fileName, $this->mod))
return $this->handle
else
return false
}
function Close( )
{
return fclose($this->handle);
}
function Write($content)
{
return fwrite($this->handle,$ content );
}
function MkDir($pathname)
{
$currentPath="";
str_replace("","/",$pathname); Split("/",$pathname);
if($pathArr[0] == "") //절대 경로 사용
{
$currentPath = $_SERVER['DOCUMENT_ROOT']; > }
else
{
$currentPath = $_SERVER['DOCUMENT_ROOT'] .dirname($_SERVER['PHP_SELF'])
}
for($i=0; $ i
if($pathArr[$i]=="")
계속
else
if(is_dir($currentPath . "/" . $pathArr[$i]))
$currentPath . "/" . $pathArr[$i]
else
mkdir($currentPath . "/ " . $pathArr[$i]);
}
}
/// <설명>
/// 정적 파일을 생성합니다.
/// 描述>
함수 Create()
{
$tmp = $this->Templet;
foreach($this->DataSource as $key=>$value)
{
$tmp = str_replace("
}
$this->MkDir(dirname($this->fileName));
$this->Open();
$this->쓰기($tmp);
$this->Close();
}
}
함수 CreateShtml()
{
ob_start("callback_CteateShtml");
}
함수 callback_CteateShtml($buffer)
{
$page = intval(@$_REQUEST["page"]);
$shtml = new Shtml();
$shtml->SetFileName($_SERVER['DOCUMENT_ROOT'] . dirname($_SERVER['PHP_SELF']) . "/" . basename($_SERVER['PHP_SELF'],".php") . ( $page==0 ? "" : "_" . strval($page)) . ".htm")
$shtml->템플릿 = $buffer;
$shtml->만들기();
$buffer를 반환합니다.
}
?>
여기에서 PHP는 http://67.220.92.21/forum/inde PHP静态类,包括了http://67.220.92.21/forum/inde방면에서 사용할 수 있습니다.帮助。