PHP头条
热点:

PHP静态类


[PHP]代码

view source   print?
001 <?php
002 /******************8PHP静态类*************/
003 class Shtml
004 {
005    var $Templet;
006    var $DataSource;
007    var $Dir;
008  
009    var $fileName;
010    var $mod;
011    var $handle;
012  
013    function Shtml($fileName = "")
014    {
015    $this->fileName = $fileName;
016    $this->mod = "wb";
017    $this->handle = false;
018  
019    $this->Templet = "";
020    $this->DataSource = array();
021    $this->Dir = "";
022    }
023  
024    // 绑定数据源,参数为一数组
025    function BindData($arr)
026    {
027    $this->DataSource = $arr;
028    }
029  
030    // 设置文件存放路径
031    function SetDir($dir)
032    {
033    $this->Dir = $dir;
034    }
035    function SetFileName($fileName)
036    {
037    return $this->fileName = $fileName;
038    }
039  
040    function GetMod()
041    {
042    return $this->mod;
043    }
044    function SetMod($mod)
045    {
046    return $this->mod = $mod;
047    }
048    function Open()
049    {
050    if (substr($this->fileName, 0, 1) == "/")
051    $this->fileName = $_SERVER['DOCUMENT_ROOT'] . $this->fileName;
052    if ($this->handle = fopen($this->fileName, $this->mod))
053    return $this->handle;
054    else
055    return false;
056    }
057    function Close()
058    {
059    return fclose($this->handle);
060    }
061    function Write($content)
062    {
063    return fwrite($this->handle, $content);
064    }
065    function MkDir($pathname)
066    {
067    $currentPath = "";
068    str_replace("", "/", $pathname);
069    $pathArr = split("/", $pathname);
070    if ($pathArr[0] == "") { //使用绝对路径
071    $currentPath = $_SERVER['DOCUMENT_ROOT'];
072    } else {
073    $currentPath = $_SERVER['DOCUMENT_ROOT'] . dirname($_SERVER['PHP_SELF']);
074    }
075    for ($i = 0; $i < count($pathArr); $i++) {
076    if ($pathArr[$i] == "")
077    continue;
078    else
079    if (is_dir($currentPath . " / " . $pathArr[$i]))
080    $currentPath = $currentPath . " / " . $pathArr[$i];
081    else
082    mkdir($currentPath = $currentPath . " / " . $pathArr[$i]);
083    }
084    }
085  
086    // 生成静态文件
087    function Create()
088    {
089    $tmp = $this->Templet;
090    foreach ($this->DataSource as $key => $value) {
091    $tmp = str_replace(" < FIELD_" . $key . " > ", $value, $tmp);
092    }
093    $this->MkDir(dirname($this->fileName));
094    $this->Open();
095    $this->Write($tmp);
096    $this->Close();
097    }
098 }
099  
100 function CreateShtml() {
101    ob_start("callback_CteateShtml");
102 }
103  
104 function callback_CteateShtml($buffer) {
105    $page = intval(@$_REQUEST["page"]);
106    $shtml = new Shtml();
107    $shtml->SetFileName($_SERVER['DOCUMENT_ROOT'] . dirname($_SERVER['PHP_SELF']) . "/" . basename($_SERVER['PHP_SELF'], ".php") . ($page == 0 ? "" : "_" . strval($page)) . ".html");
108    $shtml->Templet = $buffer;
109    $shtml->Create();
110    return $buffer;
111 }
112 ?>

www.phpzy.comtrue/php/3933.htmlTechArticlePHP静态类 [PHP]代码 view sourceprint? 001 ?php 002 /******************8PHP静态类*************/ 003 class Shtml 004 { 005 var $Templet ; 006 var $DataSource ; 007 var $Dir ; 008 009 var $fileName ; 010 var $mod ; 011 var $handle ; 01...

相关文章

    暂无相关文章
相关频道:

PHP之友评论

今天推荐