程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP靜態類

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 ?>
    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved