熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

PHP靜態類

2022-06-13   來源: PHP編程 

  [PHP]代碼

view source   print? <?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 ) == "/")    $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[] == "") { //使用絕對路徑    $currentPath = $_SERVER[DOCUMENT_ROOT];    } else {    $currentPath = $_SERVER[DOCUMENT_ROOT] dirname($_SERVER[PHP_SELF]);    }    for ($i = ; $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 == ? "" : "_" strval($page)) "html");    $shtml>Templet = $buffer;    $shtml>Create();    return $buffer; } ?>
From:http://tw.wingwit.com/Article/program/PHP/201311/21105.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.