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静态方法与作用域操作符应用【技巧】
MySQL 中使用 IF 和 CASE 实现查询字段的条件映射
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
想找真正自由、无限制的上网体验?本合集精选2025年最开放、隐私强、访问无阻的浏览器App,涵盖Tor、Brave、Via、X浏览器、Mullvad等高自由度工具。支持自定义搜索引擎、广告拦截、隐身模式及全球网站无障碍访问,部分更具备防追踪、去谷歌化、双内核切换等高级功能。无论日常浏览、隐私保护还是突破地域限制,总有一款适合你!
41
2025.12.31
想让网页流畅播放视频?本合集详解HTML5视频播放核心方法!涵盖<video>标签基础用法、多格式兼容(MP4/WebM/OGV)、自定义播放控件、响应式适配及常见浏览器兼容问题解决方案。无需插件,纯前端实现高清视频嵌入,助你快速打造现代化网页视频体验。
9
2025.12.31
想快速上手HTML5开发?本合集为你整理最实用的HTML5使用指南!涵盖HTML5基础语法、主流框架(如Bootstrap、Vue、React)集成方法,以及无需安装、直接在线编辑运行的平台推荐(如CodePen、JSFiddle)。无论你是新手还是进阶开发者,都能轻松掌握HTML5网页制作、响应式布局与交互功能开发,零配置开启高效前端编程之旅!
2
2025.12.31
热门下载
相关下载
精品课程
最新文章







