当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP静态类

PHP
php3:跨平台的服务器端嵌入式脚本语言
关于Zend Optimizer
用PHP3实现文件上载
IIS环境下安装PHP5手记
在Windows2000ADV下配置Apache+PHP5+MySql5
Winodws下IIS/Apache+PHP+MySQL的安装配置
PHP 在Windows 2003 Enterprise Server 、IIS6.0 下的安装
在WIN平台上让你的 Apache 2.0.45 支持 PHP
从实例开始
能得到你是从什么页面过来的,referer的用处
在PHP5中使用DOM控制XML
旧题新貌:PHP截取中文字符串的问题
GraPHPite--PHP图像库新秀
编译php的配置参数
PHP程序与服务器端通讯方法小结
PHP程序与服务器端通讯的方法
用php或js获取图片大小,高宽尺寸.
有关在Windows下配置PHP+Apache+Optimizer失败的问题解决方案
LAMPJT最适用的web开发系统详细配置
实现一个基于Ajax的调查程序

PHP静态类


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 61 ::
收藏到网摘: n/a

复制代码 代码如下:
<?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<count($pathArr); $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("<FIELD_" . $key . ">", $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;
}
?>