php static 类_PHP静态类

PHP静态类

class Shtml

{

var $Templet;

var $DataSource;

var $Dir;

var $fileName;

var $mod;

var $handle;

function Shtml($fileName="")

{

$this->fileName=$fileName;

$this->mod="wb";

$this->handle=false;

$this->Templet = "";

$this->DataSource = array();

$this->Dir = "";

}

/// 

/// 绑定数据源,参数为一数组。

/// 描述>

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->handle=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);

$pathArr = 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]=="")

continue;

else

if(is_dir($currentPath . "/" . $pathArr[$i]))

$currentPath = $currentPath . "/" . $pathArr[$i];

else

mkdir($currentPath = $currentPath . "/" . $pathArr[$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;

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值