PHP쓰檄잚
2018-09-07 14:03
릿齡덜쯤 덜쯤흔苟:<?php
classShtml
{
var$Templet;
var$DataSource;
var$Dir;
var$fileName;
var$mod;
var$handle;
functionShtml($fileName=)
{
$this->fileName=$fileName;
$this->mod=wb;
$this->handle=false;
$this->Templet=;
$this->DataSource=array();
$this->Dir=;
}
///<췄甘>
///곬땍鑒앴都,꽝鑒槨寧鑒莉。
///</췄甘>
functionBindData($arr)
{
$this->DataSource=$arr;
}
///<췄甘>
///?阮촘캬닸렴쨌쓺。
///</췄甘>
functionSetDir($dir)
{
$this->Dir=$dir;
}
functionSetFileName($fileName)
{
return$this->fileName=$fileName;
}
functionGetMod()
{
return$this->mod;
}
functionSetMod($mod)
{
return$this->mod=$mod;
}
functionOpen()
{
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
returnfalse;
}
functionClose()
{
returnfclose($this->handle);
}
functionWrite($content)
{
returnfwrite($this->handle,$content);
}
functionMkDir($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]);
}
}
///<췄甘>
///?邂?쓰檄匡숭。
///</췄甘>
functionCreate()
{
$tmp=$this->Templet;
foreach($this->DataSourceas$key=>$value)
{
$tmp=str_replace(<FIELD_.$key.>,$value,$tmp);
}
$this->MkDir(dirname($this->fileName));
$this->Open();
$this->Write($tmp);
$this->Close();
}
}
functionCreateShtml()
{
ob_start(callback_CteateShtml);
}
functioncallback_CteateShtml($buffer)
{
$page=intval(@$_REQUEST[page]);
$shtml=newShtml();
$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;
}
?>