手机
当前位置:查字典教程网 >编程开发 >php教程 >PHP静态类
PHP静态类
摘要:复制代码代码如下:

复制代码 代码如下:<?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生成静态页面类(非smarty)第1/2页

生成静态页面的PHP类

PHP开发的9条经验总结

探讨PHP中OO之静态关键字以及类常量的详解

用PHP实现验证码功能

PHP静态文件生成类实例

了解PHP的返回引用和局部静态变量

php静态文件生成类实例分析

用PHP实现的生成静态HTML速度快类库

PHP生成静态页面详解

精品推荐
分类导航