关于我们┊AboutMe

昵称:Hopol(■童■)

联系:QQ:18883

邮箱:info(at)18883.com

主页:www.18883.com

手机浏览 日志归档 RSS 2.0 订阅
Register | Login

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,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; 
     }
?>

Tags: php, 静态,

« 上一篇 | 下一篇 »

只显示10条记录相关文章

dede5.1 UTF8商业版 (浏览: 231, 评论: 1)
dede5.1 BGK商业版 (浏览: 255, 评论: 0)
MyPic图片管理系统 (浏览: 162, 评论: 0)
PHP 美女写真 Cms (浏览: 208, 评论: 0)
Google translator API ( PHP 5 class ) (浏览: 192, 评论: 0)
MyPic v1.0 (MyPic图片管理系统) (浏览: 289, 评论: 0)
PHP在图片上写上中文[备份] (浏览: 205, 评论: 0)
DEDECMS 模板收藏 【极限资讯网】 (浏览: 495, 评论: 0)
DEDECMS 模板收藏 【CK女性站】 (浏览: 494, 评论: 0)
DEDECMS 模板收藏 【淡蓝色完整风格V1.1】 (浏览: 500, 评论: 0)

发表评论