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 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 ( " " , $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 )) . " .html " ) ;
$shtml -> Templet = $buffer ;
$shtml -> Create () ;
return $buffer ;
}
?>
0
0
相关文章
PHP怎样支持移动端视频播放_PHP移动端视频播放支持法【要点】
如何通过按钮点击复制文件并根据输入框内容重命名
PHP怎么实现视频断点续播_PHP实现视频断点续播逻辑【续播】
PHP端口映射错致404咋办_PHP端口映射404修正法【建议】
初学者学php循环有几种_初学者学php循环常见类型【结构】
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具










