PHP静态类

classShtml
{
var$Templet;
var$DataSource;
var$Dir;
var$fileName;
var$mod;
var$handle;
functionShtml($fileName="")
{
$this->fileName=$fileName;
$this->mod="wb";
$this->handle=false;
$this->Templet = "";
$this->DataSource = array();
$this->Dir = "";
}
/// <描述>
/// 绑定数据源,参数为一数组。
///
functionBindData($arr)
{
$this->DataSource = $arr;
}
/// <描述>
/// 设置文件存放路径。
///
functionSetDir($dir)
{
$this->Dir = $dir;
}
functionSetFileName($fileName)
{
return$this->fileName=$fileName;
}
functionGetMod()
{
return$this->mod;
}
functionSetMod($mod)
{
return$this->mod=$mod;
}
functionOpen()
{
if(substr($this->fileName,0,1)=="/")
$this->fileName = $_SERVER['DOCUMENT_ROOT'] . $this->fileName;
if($this->handle=fopen($this->fileName, $this->mod))
return$this->handle;
else
returnfalse;
}
functionClose()
{
returnfclose($this->handle);
}
functionWrite($content)
{
returnfwrite($this->handle,$content);
}
functionMkDir($pathname)
{
$currentPath="";
str_replace("\","/",$pathname);
$pathArr = split("/",$pathname);
if($pathArr[0] == "") //使用绝对路径
{
$currentPath = $_SERVER['DOCUMENT_ROOT'];
}
else
{
$currentPath = $_SERVER['DOCUMENT_ROOT'] . dirname($_SERVER['PHP_SELF']);
}
for($i=0; $i
/// 生成静态文件。
///
function Create()
{
$tmp = $this->Templet;
foreach($this->DataSource as $key=>$value)
{
$tmp = str_replace("", $value, $tmp);
}
$this->MkDir(dirname($this->fileName));
$this->Open();
$this->Write($tmp);
$this->Close();
}
}
function CreateShtml()
{
ob_start("callback_CteateShtml");
}
function 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->Templet = $buffer;
$shtml->Create();
return $buffer;
}
?>

发表评论

电子邮件地址不会被公开。 必填项已用*标注