PHP静态类
PHP静态类
发布时间:2016-12-29 来源:查字典编辑
摘要:复制代码代码如下:

复制代码 代码如下:<?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<count($pathArr);$i++)

{

if($pathArr[$i]=="")

continue;

else

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

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

else

mkdir($currentPath=$currentPath."/".$pathArr[$i]);

}

}

///<描述>

///生成静态文件。

///</描述>

functionCreate()

{

$tmp=$this->Templet;

foreach($this->DataSourceas$key=>$value)

{

$tmp=str_replace("<FIELD_".$key.">",$value,$tmp);

}

$this->MkDir(dirname($this->fileName));

$this->Open();

$this->Write($tmp);

$this->Close();

}

}

functionCreateShtml()

{

ob_start("callback_CteateShtml");

}

functioncallback_CteateShtml($buffer)

{

$page=intval(@$_REQUEST["page"]);

$shtml=newShtml();

$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;

}

?>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类